Postiz One click app
The one click setup for open source social media scheduler postiz
This commit is contained in:
@@ -1,59 +1,129 @@
|
||||
# ignore: true
|
||||
# documentation: https://docs.postiz.com/introduction
|
||||
# slogan:
|
||||
# tags:
|
||||
# logo:
|
||||
# port: 4200
|
||||
# documentation: https://docs.postiz.com
|
||||
# slogan: 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_4200
|
||||
- MAIN_URL=${SERVICE_FQDN_POSTIZ}
|
||||
- FRONTEND_URL=${SERVICE_FQDN_POSTIZ}
|
||||
- NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZAPI_3000}
|
||||
- JWT_SECRET=${SERVICE_REALBASE64_JWTSECRET}
|
||||
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-postiz}?schema=public
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- BACKEND_INTERNAL_URL=http://localhost:3000/
|
||||
- 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
|
||||
- CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}
|
||||
- CLOUDFLARE_ACCESS_KEY=${CLOUDFLARE_ACCESS_KEY}
|
||||
- CLOUDFLARE_SECRET_ACCESS_KEY=${CLOUDFLARE_SECRET_ACCESS_KEY}
|
||||
- CLOUDFLARE_BUCKETNAME=${CLOUDFLARE_BUCKETNAME}
|
||||
- CLOUDFLARE_BUCKET_URL=${CLOUDFLARE_BUCKET_URL}
|
||||
- CLOUDFLARE_REGION=${CLOUDFLARE_REGION}
|
||||
- RESEND_API_KEY=${RESEND_API_KEY}
|
||||
- EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS}
|
||||
- EMAIL_FROM_NAME=${EMAIL_FROM_NAME}
|
||||
- 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:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_started
|
||||
volumes:
|
||||
- "postiz_config:/config"
|
||||
postgres:
|
||||
image: "postgres:latest"
|
||||
- postiz-postgres
|
||||
- postiz-redis
|
||||
postiz-postgres:
|
||||
image: "postgres:14.5"
|
||||
container_name: postiz-postgres
|
||||
restart: always
|
||||
environment:
|
||||
- POSTGRES_DB=${POSTGRES_DB:-postiz}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
|
||||
- POSTGRES_PASSWORD=postiz-password
|
||||
- POSTGRES_USER=postiz-user
|
||||
- POSTGRES_DB=postiz-db-local
|
||||
volumes:
|
||||
- "pg-data:/var/lib/postgresql/data"
|
||||
- "postgres-volume:/var/lib/postgresql/data"
|
||||
ports:
|
||||
- "5432:5432"
|
||||
networks:
|
||||
- postiz-network
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
redis:
|
||||
test:
|
||||
- CMD
|
||||
- pg_isready
|
||||
- "-U"
|
||||
- postiz-user
|
||||
- "-d"
|
||||
- postiz-db-local
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 3
|
||||
postiz-redis:
|
||||
image: "redis:7.2"
|
||||
volumes:
|
||||
- "redis_data:/data"
|
||||
container_name: postiz-redis
|
||||
restart: always
|
||||
ports:
|
||||
- "6379:6379"
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user