# documentation: https://docs.postiz.com # slogan: Open source social media scheduling tool. # tags: post everywhere, social media, planning # logo: svgs/postiz.svg # port: 5000 services: postiz: image: ghcr.io/gitroomhq/postiz-app:latest environment: - SERVICE_FQDN_POSTIZ_5000 - MAIN_URL=${SERVICE_FQDN_POSTIZ} - FRONTEND_URL=${SERVICE_FQDN_POSTIZ} - NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZ}/api - JWT_SECRET=${SERVICE_PASSWORD_JWTSECRET} - DATABASE_URL=postgresql://${SERVICE_USER_POSTGRESQL}:${SERVICE_PASSWORD_POSTGRESQL}@postgresql:5432/${POSTGRESQL_DATABASE:-postiz-db} - REDIS_URL=redis://${SERVICE_USER_REDIS}:${SERVICE_PASSWORD_REDIS}@redis:6379 - BACKEND_INTERNAL_URL=http://localhost:3000 - IS_GENERAL=true - STORAGE_PROVIDER=local - UPLOAD_DIRECTORY=/uploads - NEXT_PUBLIC_UPLOAD_DIRECTORY=/uploads - X_API_KEY=${SERVICE_X_API} - X_API_SECRET=${SERVICE_X_SECRET} - REDDIT_CLIENT_ID=${SERVICE_REDDIT_API} - REDDIT_CLIENT_SECRET=${SERVICE_REDDIT_SECRET} - TIKTOK_CLIENT_ID=${SERVICE_TIKTOK_ID} - TIKTOK_CLIENT_SECRET=${SERVICE_TIKTOK_SECRET} - SLACK_ID=${SERVICE_SLACK_ID} - SLACK_SECRET=${SERVICE_SLACK_SECRET} - PINTEREST_CLIENT_ID=${SERVICE_PINTEREST_ID} - PINTEREST_CLIENT_SECRET=${SERVICE_PINTEREST_SECRET} - DRIBBLE_CLIENT_ID=${SERVICE_DRIBBLE_ID} - DRIBBLE_CLIENT_SECRET=${SERVICE_DRIBBLE_SECRET} - DISCORD_CLIENT_ID=${SERVICE_DISCORD_ID} - DISCORD_CLIENT_SECRET=${SERVICE_DISCORD_SECRET} - DISCORD_BOT_TOKEN_ID=${SERVICE_DISCORD_TOKEN} - YOUTUBE_CLIENT_ID=${SERVICE_YOUTUBE_ID} - YOUTUBE_CLIENT_SECRET=${SERVICE_YOUTUBE_SECRET} - MASTODON_CLIENT_ID=${SERVICE_MASTODON_ID} - MASTODON_CLIENT_SECRET=${SERVICE_MASTODON_SECRET} - LINKEDIN_CLIENT_ID=${SERVICE_LINKEDIN_ID} - LINKEDIN_CLIENT_SECRET=${SERVICE_LINKEDIN_SECRET} - INSTAGRAM_APP_ID=${SERVICE_INSTAGRAM_ID} - INSTAGRAM_APP_SECRET=${SERVICE_INSTAGRAM_SECRET} - FACEBOOK_APP_ID=${SERVICE_FACEBOOK_ID} - FACEBOOK_APP_SECRET=${SERVICE_FACEBOOK_SECRET} - THREADS_APP_ID=${SERVICE_THREADS_ID} - THREADS_APP_SECRET=${SERVICE_THREADS_SECRET} - GITHUB_CLIENT_ID=${SERVICE_GITHUB_ID} - GITHUB_CLIENT_SECRET=${SERVICE_GITHUB_SECRET} - BEEHIIVE_API_KEY=${SERVICE_BEEHIIVE_KEY} - BEEHIIVE_PUBLICATION_ID=${SERVICE_BEEHIIVE_PUBID} - OPENAI_API_KEY=${SERVICE_OPENAI_KEY} volumes: - postiz_config:/config/ - postiz_uploads:/uploads/ depends_on: postgres: condition: service_healthy redis: condition: service_healthy healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5000/"] interval: 5s timeout: 20s retries: 10 postgres: image: postgres:14.5 volumes: - postiz_postgresql_data:/var/lib/postgresql/data environment: - POSTGRES_USER=${SERVICE_USER_POSTGRESQL} - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL} - POSTGRES_DB=${POSTGRESQL_DATABASE:-postiz-db} healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s timeout: 20s retries: 10 redis: image: redis:7.2 volumes: - postiz_redis_data:/data environment: - REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS} - REDIS_USER=${SERVICE_USER_REDIS} healthcheck: test: - CMD - redis-cli - PING interval: 5s timeout: 10s retries: 20