commit b281e5c90bf29fd6e442a0603ce96029e46c143a Author: jay Date: Mon Sep 15 07:57:27 2025 +0900 Add docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9196777 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,164 @@ +services: + postiz: + image: ghcr.io/gitroomhq/postiz-app:latest + container_name: postiz + restart: always + environment: + # === Required Settings + MAIN_URL: "https://postiz.aoi-blue.com" + FRONTEND_URL: "https://postiz.aoi-blue.com" + NEXT_PUBLIC_BACKEND_URL: "https://postiz.aoi-blue.com/api" + JWT_SECRET: "nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxYhhSOWG3aoWMVhwl8ygetFPQs0o\nXZCLbhTqgi7vVtJhF1XPUKAzW+Nb9rAOfFr/7yzT7d7TD+SINsLkSOajpkgAoHry\nss2rZwDKFkiqtKngE4byo/GvSA2rk+PUQvX8EucAdtdCtUHNikhFVmAzeTY4gpHv\nOpSxRjr6iZp51LH9yQQ=\n" + 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" + DISABLE_REGISTRATION: "false" + + # === Storage Settings + STORAGE_PROVIDER: "local" + UPLOAD_DIRECTORY: "/uploads" + NEXT_PUBLIC_UPLOAD_DIRECTORY: "/uploads" + + # === Cloudflare (R2) Settings + #CLOUDFLARE_ACCOUNT_ID: "your-account-id" + #CLOUDFLARE_ACCESS_KEY: "your-access-key" + #CLOUDFLARE_SECRET_ACCESS_KEY: "your-secret-access-key" + #CLOUDFLARE_BUCKETNAME: "your-bucket-name" + #CLOUDFLARE_BUCKET_URL: "https://your-bucket-url.r2.cloudflarestorage.com/" + #CLOUDFLARE_REGION: "auto" + + # === Social Media API Settings + X_API_KEY: "" + X_API_SECRET: "" + LINKEDIN_CLIENT_ID: "" + LINKEDIN_CLIENT_SECRET: "" + REDDIT_CLIENT_ID: "" + REDDIT_CLIENT_SECRET: "" + GITHUB_CLIENT_ID: "" + GITHUB_CLIENT_SECRET: "" + BEEHIIVE_API_KEY: "" + BEEHIIVE_PUBLICATION_ID: "" + THREADS_APP_ID: "" + THREADS_APP_SECRET: "" + FACEBOOK_APP_ID: "" + FACEBOOK_APP_SECRET: "" + YOUTUBE_CLIENT_ID: "" + YOUTUBE_CLIENT_SECRET: "" + TIKTOK_CLIENT_ID: "" + TIKTOK_CLIENT_SECRET: "" + PINTEREST_CLIENT_ID: "" + PINTEREST_CLIENT_SECRET: "" + DRIBBBLE_CLIENT_ID: "" + DRIBBBLE_CLIENT_SECRET: "" + DISCORD_CLIENT_ID: "" + DISCORD_CLIENT_SECRET: "" + DISCORD_BOT_TOKEN_ID: "" + SLACK_ID: "" + SLACK_SECRET: "" + SLACK_SIGNING_SECRET: "" + MASTODON_URL: "https://mastodon.social" + MASTODON_CLIENT_ID: "" + MASTODON_CLIENT_SECRET: "" + + # === OAuth & Authentik Settings + #NEXT_PUBLIC_POSTIZ_OAUTH_DISPLAY_NAME: "Authentik" + #NEXT_PUBLIC_POSTIZ_OAUTH_LOGO_URL: "https://raw.githubusercontent.com/walkxcode/dashboard-icons/master/png/authentik.png" + #POSTIZ_GENERIC_OAUTH: "false" + #POSTIZ_OAUTH_URL: "https://auth.example.com" + #POSTIZ_OAUTH_AUTH_URL: "https://auth.example.com/application/o/authorize" + #POSTIZ_OAUTH_TOKEN_URL: "https://auth.example.com/application/o/token" + #POSTIZ_OAUTH_USERINFO_URL: "https://authentik.example.com/application/o/userinfo" + #POSTIZ_OAUTH_CLIENT_ID: "" + #POSTIZ_OAUTH_CLIENT_SECRET: "" + # POSTIZ_OAUTH_SCOPE: "openid profile email" # Optional: uncomment to override default scope + + # === Misc Settings + OPENAI_API_KEY: "" + NEXT_PUBLIC_DISCORD_SUPPORT: "" + NEXT_PUBLIC_POLOTNO: "" + API_LIMIT: 30 + + # === Payment / Stripe Settings + FEE_AMOUNT: 0.05 + STRIPE_PUBLISHABLE_KEY: "" + STRIPE_SECRET_KEY: "" + STRIPE_SIGNING_KEY: "" + STRIPE_SIGNING_KEY_CONNECT: "" + + # === Developer Settings + NX_ADD_PLUGINS: false + + # === Short Link Service Settings (Optional - leave blank if unused) + # DUB_TOKEN: "" + # DUB_API_ENDPOINT: "https://api.dub.co" + # DUB_SHORT_LINK_DOMAIN: "dub.sh" + # SHORT_IO_SECRET_KEY: "" + # KUTT_API_KEY: "" + # KUTT_API_ENDPOINT: "https://kutt.it/api/v2" + # KUTT_SHORT_LINK_DOMAIN: "kutt.it" + # LINK_DRIP_API_KEY: "" + # LINK_DRIP_API_ENDPOINT: "https://api.linkdrip.com/v1/" + # LINK_DRIP_SHORT_LINK_DOMAIN: "dripl.ink" + + volumes: + - postiz-config:/config/ + - postiz-uploads:/uploads/ + ports: + - 5000:5000 + networks: + - shared + depends_on: + postiz-postgres: + condition: service_healthy + postiz-redis: + condition: service_healthy + + postiz-postgres: + image: postgres:17-alpine + 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 + networks: + - shared + healthcheck: + test: 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 + healthcheck: + test: redis-cli ping + interval: 10s + timeout: 3s + retries: 3 + volumes: + - postiz-redis-data:/data + networks: + - shared + + +volumes: + postgres-volume: + external: false + + postiz-redis-data: + external: false + + postiz-config: + external: false + + postiz-uploads: + external: false + +networks: + shared: + external: true \ No newline at end of file