mirror of
https://github.com/tiennm99/coolify.git
synced 2026-04-17 19:21:36 +00:00
129 lines
4.1 KiB
YAML
129 lines
4.1 KiB
YAML
# documentation: https://docs.postiz.com
|
|
# slogan: Open source social media scheduling tool.
|
|
# tags: post everywhere, social media, planning
|
|
# logo: svgs/postiz.svg
|
|
|
|
version: "3.8"
|
|
services:
|
|
postiz:
|
|
image: "ghcr.io/gitroomhq/postiz-app:latest"
|
|
container_name: postiz
|
|
restart: always
|
|
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://postiz-user:postiz-password@postiz-postgres:5432/postiz-db-local"
|
|
- "REDIS_URL=redis://postiz-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/"
|
|
ports:
|
|
- "5000:5000"
|
|
networks:
|
|
- postiz-network
|
|
labels:
|
|
- traefik.enable=true
|
|
- "traefik.http.routers.postiz.rule=Host(your.url) && PathPrefix(/)"
|
|
- traefik.http.routers.postiz.entryPoints=http
|
|
- traefik.http.routers.postiz.tls=true
|
|
- traefik.http.routers.postiz.tls.certresolver=letsencrypt
|
|
- traefik.http.services.postiz.loadbalancer.server.port=5000
|
|
depends_on:
|
|
- postiz-postgres
|
|
- postiz-redis
|
|
postiz-postgres:
|
|
image: "postgres:14.5"
|
|
container_name: postiz-postgres
|
|
restart: always
|
|
environment:
|
|
- POSTGRES_PASSWORD=postiz-password
|
|
- POSTGRES_USER=postiz-user
|
|
- POSTGRES_DB=postiz-db-local
|
|
volumes:
|
|
- "postgres-volume:/var/lib/postgresql/data"
|
|
ports:
|
|
- "5432:5432"
|
|
networks:
|
|
- postiz-network
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- pg_isready
|
|
- "-U"
|
|
- postiz-user
|
|
- "-d"
|
|
- postiz-db-local
|
|
interval: 10s
|
|
timeout: 3s
|
|
retries: 3
|
|
postiz-redis:
|
|
image: "redis:7.2"
|
|
container_name: postiz-redis
|
|
restart: always
|
|
ports:
|
|
- "6379:6379"
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- redis-cli
|
|
- ping
|
|
interval: 10s
|
|
timeout: 3s
|
|
retries: 3
|
|
volumes:
|
|
- "postiz-redis-data:/data"
|
|
networks:
|
|
- postiz-network
|
|
volumes:
|
|
postgres-volume:
|
|
external: false
|
|
postiz-redis-data:
|
|
external: false
|
|
postiz-config:
|
|
external: false
|
|
postiz-uploads:
|
|
external: false
|
|
networks:
|
|
postiz-network:
|
|
external: false
|