# dashboard: 32101 # backend: 32102 # svix-server: 32201 # mock-oauth-server: 32202 # inbucket: 32203 # freestyle-mock: 32204 # s3mock: 32205 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" STACK_S3_ENDPOINT: "http://localhost:32205" STACK_S3_BUCKET: "stack-storage" STACK_S3_REGION: "us-east-1" STACK_S3_ACCESS_KEY_ID: "S3RVER" STACK_S3_SECRET_ACCESS_KEY: "S3RVER" depends_on: db: condition: service_healthy inbucket: condition: service_started svix-server: condition: service_started s3mock: condition: service_healthy freestyle-mock: condition: service_started # ================= 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 healthcheck: test: ["CMD-SHELL", "pg_isready", "-d", "stackframe"] interval: 5s timeout: 10s retries: 5 start_period: 10s # ================= 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 # ================= Adobe S3 Mock ================= s3mock: image: adobe/s3mock:latest ports: - 32205:9090 environment: - initialBuckets=stack-storage - root=s3mockroot - debug=false volumes: - s3mock-data:/tmp/s3mock healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9090/"] interval: 30s timeout: 10s retries: 3 # ================= Freestyle mock ================= freestyle-mock: build: context: ../dependencies/freestyle-mock dockerfile: Dockerfile image: freestyle-mock container_name: freestyle-mock ports: - "32204:8080" environment: DENO_DIR: /deno-cache volumes: - deno-cache:/deno-cache # ================= volumes ================= volumes: postgres-data: inbucket-data: svix-redis-data: svix-postgres-data: s3mock-data: deno-cache: