# dashboard: 32101 # backend: 32102 # svix-server: 32201 # mock-oauth-server: 32202 # inbucket: 32203 services: # ================= Stack Auth Server ================= server: build: context: ../.. dockerfile: docker/server/Dockerfile ports: - 32101:8101 - 32102:8102 environment: NEXT_PUBLIC_STACK_API_URL: http://localhost:32102 NEXT_PUBLIC_STACK_DASHBOARD_URL: http://localhost:32101 STACK_DATABASE_CONNECTION_STRING: postgres://postgres:PASSWORD-PLACEHOLDER--uqfEC1hmmv@db:5432/stackframe STACK_DIRECT_DATABASE_CONNECTION_STRING: postgres://postgres:PASSWORD-PLACEHOLDER--uqfEC1hmmv@db:5432/stackframe STACK_SERVER_SECRET: 23-wuNpik0gIW4mruTz25rbIvhuuvZFrLOLtL7J4tyo STACK_SEED_INTERNAL_PROJECT_ALLOW_LOCALHOST: true STACK_RUN_MIGRATIONS: true STACK_RUN_SEED_SCRIPT: true STACK_EMULATOR_ENABLED: true NEXT_PUBLIC_STACK_EMULATOR_ENABLED: true STACK_EMULATOR_PROJECT_ID: dff88d17-6d39-4b08-b4e2-c87c81f7218a NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID: dff88d17-6d39-4b08-b4e2-c87c81f7218a NEXT_PUBLIC_STACK_SVIX_SERVER_URL: http://localhost:32201 STACK_SVIX_SERVER_URL: http://svix-server:8071 STACK_SVIX_API_KEY: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2NTUxNDA2MzksImV4cCI6MTk3MDUwMDYzOSwibmJmIjoxNjU1MTQwNjM5LCJpc3MiOiJzdml4LXNlcnZlciIsInN1YiI6Im9yZ18yM3JiOFlkR3FNVDBxSXpwZ0d3ZFhmSGlyTXUifQ.En8w77ZJWbd0qrMlHHupHUB-4cx17RfzFykseg95SUk NEXT_PUBLIC_STACK_INBUCKET_WEB_URL: http://localhost:32203 STACK_EMAIL_HOST: inbucket STACK_EMAIL_PORT: 2500 STACK_EMAIL_SECURE: false STACK_EMAIL_USERNAME: none STACK_EMAIL_PASSWORD: none STACK_EMAIL_SENDER: noreply@example.com STACK_FORWARD_MOCK_OAUTH_SERVER: true STACK_OAUTH_MOCK_URL: http://localhost:32202 STACK_GITHUB_CLIENT_ID: MOCK STACK_GITHUB_CLIENT_SECRET: MOCK STACK_GOOGLE_CLIENT_ID: MOCK STACK_GOOGLE_CLIENT_SECRET: MOCK STACK_MICROSOFT_CLIENT_ID: MOCK STACK_MICROSOFT_CLIENT_SECRET: MOCK STACK_SPOTIFY_CLIENT_ID: MOCK STACK_SPOTIFY_CLIENT_SECRET: MOCK depends_on: - db - inbucket - svix-server # ================= Mock OAuth Server ================= mock-oauth-server: build: context: ../.. dockerfile: docker/mock-oauth-server/Dockerfile ports: - 32202:32202 # ================= PostgreSQL ================= db: image: postgres:15 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: PASSWORD-PLACEHOLDER--uqfEC1hmmv POSTGRES_DB: stackframe volumes: - postgres-data:/var/lib/postgresql/data # ================= Inbucket ================= inbucket: image: inbucket/inbucket:latest ports: - 32203:9000 volumes: - inbucket-data:/data # ================= Svix ================= svix-db: image: "docker.io/postgres:16.1" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: PASSWORD-PLACEHOLDER--KsoIMcchtp POSTGRES_DB: svix volumes: - svix-postgres-data:/var/lib/postgresql/data svix-redis: image: docker.io/redis:7-alpine command: --save 60 500 --appendonly yes --appendfsync everysec --requirepass PASSWORD-PLACEHOLDER--oVn8GSD6b9 volumes: - svix-redis-data:/data svix-server: image: svix/svix-server environment: WAIT_FOR: 'true' SVIX_REDIS_DSN: redis://:PASSWORD-PLACEHOLDER--oVn8GSD6b9@svix-redis:6379 SVIX_DB_DSN: postgres://postgres:PASSWORD-PLACEHOLDER--KsoIMcchtp@svix-db:5432/svix SVIX_CACHE_TYPE: memory SVIX_JWT_SECRET: secret SVIX_LOG_LEVEL: trace SVIX_QUEUE_TYPE: redis ports: - 32201:8071 depends_on: - svix-redis - svix-db # ================= volumes ================= volumes: postgres-data: inbucket-data: svix-redis-data: svix-postgres-data: