rsocials-online/docker-compose.template.yml

165 lines
5.3 KiB
YAML

# =============================================================================
# Postiz Stack — Space: {{SPACE_NAME}}
# =============================================================================
# Generated by generate.sh from spaces.yml — DO NOT EDIT DIRECTLY.
# To modify, edit spaces.yml and re-run: ./generate.sh
# Primary: {{PRIMARY_DOMAIN}} | Fallback: {{FALLBACK_DOMAIN}}
services:
postiz-{{SPACE_SLUG}}:
image: {{POSTIZ_IMAGE}}
container_name: postiz-{{SPACE_SLUG}}
restart: unless-stopped
environment:
MAIN_URL: 'https://{{PRIMARY_DOMAIN}}'
FRONTEND_URL: 'https://{{PRIMARY_DOMAIN}}'
NEXT_PUBLIC_BACKEND_URL: 'https://{{PRIMARY_DOMAIN}}/api'
JWT_SECRET: '${JWT_SECRET}'
DATABASE_URL: 'postgresql://postiz:${POSTGRES_PASSWORD}@postiz-{{SPACE_SLUG}}-postgres:5432/postiz'
REDIS_URL: 'redis://postiz-{{SPACE_SLUG}}-redis:6379'
BACKEND_INTERNAL_URL: 'http://localhost:3000'
TEMPORAL_ADDRESS: "postiz-{{SPACE_SLUG}}-temporal:7233"
IS_GENERAL: '{{IS_GENERAL}}'
DISABLE_REGISTRATION: '{{DISABLE_REG}}'
# Pocket ID OAuth
{{OAUTH_BLOCK}}
# Storage
STORAGE_PROVIDER: '{{STORAGE_PROVIDER}}'
UPLOAD_DIRECTORY: '{{UPLOAD_DIR}}'
NEXT_PUBLIC_UPLOAD_DIRECTORY: '{{UPLOAD_DIR}}'
# Social Media API Settings (from .env or Infisical)
X_API_KEY: '${X_API_KEY:-}'
X_API_SECRET: '${X_API_SECRET:-}'
LINKEDIN_CLIENT_ID: '${LINKEDIN_CLIENT_ID:-}'
LINKEDIN_CLIENT_SECRET: '${LINKEDIN_CLIENT_SECRET:-}'
REDDIT_CLIENT_ID: '${REDDIT_CLIENT_ID:-}'
REDDIT_CLIENT_SECRET: '${REDDIT_CLIENT_SECRET:-}'
THREADS_APP_ID: '${THREADS_APP_ID:-}'
THREADS_APP_SECRET: '${THREADS_APP_SECRET:-}'
FACEBOOK_APP_ID: '${FACEBOOK_APP_ID:-}'
FACEBOOK_APP_SECRET: '${FACEBOOK_APP_SECRET:-}'
YOUTUBE_CLIENT_ID: '${YOUTUBE_CLIENT_ID:-}'
YOUTUBE_CLIENT_SECRET: '${YOUTUBE_CLIENT_SECRET:-}'
TIKTOK_CLIENT_ID: '${TIKTOK_CLIENT_ID:-}'
TIKTOK_CLIENT_SECRET: '${TIKTOK_CLIENT_SECRET:-}'
DISCORD_CLIENT_ID: '${DISCORD_CLIENT_ID:-}'
DISCORD_CLIENT_SECRET: '${DISCORD_CLIENT_SECRET:-}'
DISCORD_BOT_TOKEN_ID: '${DISCORD_BOT_TOKEN_ID:-}'
MASTODON_URL: '${MASTODON_URL:-https://mastodon.social}'
MASTODON_CLIENT_ID: '${MASTODON_CLIENT_ID:-}'
MASTODON_CLIENT_SECRET: '${MASTODON_CLIENT_SECRET:-}'
# Email
EMAIL_PROVIDER: '{{EMAIL_PROVIDER}}'
EMAIL_FROM_NAME: '{{EMAIL_FROM_NAME}}'
EMAIL_FROM_ADDRESS: '{{EMAIL_FROM}}'
EMAIL_HOST: '{{EMAIL_HOST}}'
EMAIL_PORT: '{{EMAIL_PORT}}'
EMAIL_SECURE: '{{EMAIL_SECURE}}'
EMAIL_USER: '{{EMAIL_USER}}'
EMAIL_PASS: '${EMAIL_PASS}'
NODE_TLS_REJECT_UNAUTHORIZED: '0'
# AI
OPENAI_API_KEY: '${OPENAI_API_KEY:-}'
# Misc
NX_ADD_PLUGINS: false
API_LIMIT: {{API_LIMIT}}
volumes:
- postiz-{{SPACE_SLUG}}-config:/config/
- postiz-{{SPACE_SLUG}}-uploads:/uploads/
labels:
{{TRAEFIK_LABELS}}
networks:
- traefik-public
- postiz-{{SPACE_SLUG}}-internal
- mailcow-network
depends_on:
postiz-{{SPACE_SLUG}}-postgres:
condition: service_healthy
postiz-{{SPACE_SLUG}}-redis:
condition: service_healthy
postiz-{{SPACE_SLUG}}-postgres:
image: {{POSTGRES_IMAGE}}
container_name: postiz-{{SPACE_SLUG}}-postgres
restart: unless-stopped
{{SABLIER_LABELS_DB}}
environment:
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
POSTGRES_USER: postiz
POSTGRES_DB: postiz
volumes:
- postiz-{{SPACE_SLUG}}-postgres-data:/var/lib/postgresql/data
networks:
- postiz-{{SPACE_SLUG}}-internal
healthcheck:
test: pg_isready -U postiz -d postiz
interval: 10s
timeout: 3s
retries: 3
postiz-{{SPACE_SLUG}}-redis:
image: {{REDIS_IMAGE}}
container_name: postiz-{{SPACE_SLUG}}-redis
restart: unless-stopped
{{SABLIER_LABELS_REDIS}}
healthcheck:
test: redis-cli ping
interval: 10s
timeout: 3s
retries: 3
volumes:
- postiz-{{SPACE_SLUG}}-redis-data:/data
networks:
- postiz-{{SPACE_SLUG}}-internal
postiz-{{SPACE_SLUG}}-temporal-postgres:
image: {{TEMPORAL_PG_IMAGE}}
container_name: postiz-{{SPACE_SLUG}}-temporal-postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: temporal
POSTGRES_USER: temporal
networks:
- postiz-{{SPACE_SLUG}}-internal
volumes:
- postiz-{{SPACE_SLUG}}-temporal-postgres-data:/var/lib/postgresql/data
postiz-{{SPACE_SLUG}}-temporal:
image: {{TEMPORAL_IMAGE}}
container_name: postiz-{{SPACE_SLUG}}-temporal
restart: unless-stopped
depends_on:
- postiz-{{SPACE_SLUG}}-temporal-postgres
environment:
- DB=postgres12
- DB_PORT=5432
- POSTGRES_USER=temporal
- POSTGRES_PWD=temporal
- POSTGRES_SEEDS=postiz-{{SPACE_SLUG}}-temporal-postgres
- TEMPORAL_NAMESPACE=default
networks:
- postiz-{{SPACE_SLUG}}-internal
volumes:
postiz-{{SPACE_SLUG}}-postgres-data:
postiz-{{SPACE_SLUG}}-redis-data:
postiz-{{SPACE_SLUG}}-config:
postiz-{{SPACE_SLUG}}-uploads:
postiz-{{SPACE_SLUG}}-temporal-postgres-data:
networks:
traefik-public:
external: true
postiz-{{SPACE_SLUG}}-internal:
internal: true
mailcow-network:
external: true
name: mailcowdockerized_mailcow-network