version: '3' services: postgres: build: context: . dockerfile: docker/Dockerfile_postgres environment: - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_DB=${POSTGRES_DB:-postgres} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password} - POSTGRES_HOST=${POSTGRES_HOST:-postgres} ports: - 5433:5432 volumes: - ./migrations/before/:/docker-entrypoint-initdb.d redis: image: redis ports: - 6380:6379 gotrue: image: supabase/gotrue restart: on-failure depends_on: - postgres environment: - GOTRUE_SITE_URL=appflowy-flutter:// # redirected to AppFlowy application - GOTRUE_JWT_SECRET=${GOTRUE_JWT_SECRET} # authentication secret - GOTRUE_DB_DRIVER=postgres - API_EXTERNAL_URL=${API_EXTERNAL_URL:-http://localhost:9998} # change 'localhost' to the public host of machine that is running on - DATABASE_URL=postgres://supabase_auth_admin:root@postgres:5432/postgres - PORT=9999 - GOTRUE_SMTP_HOST=${GOTRUE_SMTP_HOST:-} # e.g. smtp.gmail.com - GOTRUE_SMTP_PORT=${GOTRUE_SMTP_PORT:-} # e.g. 465 - GOTRUE_SMTP_USER=${GOTRUE_SMTP_USER:-} # email sender, e.g. noreply@appflowy.io - GOTRUE_SMTP_PASS=${GOTRUE_SMTP_PASS:-} # email password - GOTRUE_SMTP_ADMIN_EMAIL=${GOTRUE_SMTP_ADMIN_EMAIL:-} # email with admin privileges e.g. internal@appflowy.io - GOTRUE_SMTP_MAX_FREQUENCY=${GOTRUE_SMTP_MAX_FREQUENCY:-1ns} # set to 1ns for running tests - GOTRUE_MAILER_URLPATHS_CONFIRMATION=/verify - GOTRUE_MAILER_AUTOCONFIRM=${GOTRUE_MAILER_AUTOCONFIRM:-false} # change this to true to skip email confirmation ports: - 9998:9999 appflowy_cloud: restart: on-failure environment: - APP_ENVIRONMENT=production - APP__GOTRUE__JWT_SECRET=${GOTRUE_JWT_SECRET} build: context: . dockerfile: docker/Dockerfile image: appflowy_cloud:${BACKEND_VERSION:-latest} depends_on: - redis - postgres - gotrue ports: - 8000:8000