mirror of
https://github.com/AppFlowy-IO/AppFlowy-Cloud.git
synced 2025-04-17 18:44:42 -04:00
115 lines
5 KiB
YAML
115 lines
5 KiB
YAML
services:
|
|
nginx:
|
|
restart: on-failure
|
|
image: nginx
|
|
ports:
|
|
- 80:80 # Disable this if you are using TLS
|
|
- 443:443
|
|
volumes:
|
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./nginx/ssl/certificate.crt:/etc/nginx/ssl/certificate.crt
|
|
- ./nginx/ssl/private_key.key:/etc/nginx/ssl/private_key.key
|
|
minio:
|
|
restart: on-failure
|
|
image: minio/minio
|
|
ports:
|
|
- 9000:9000
|
|
- 9001:9001
|
|
environment:
|
|
- MINIO_BROWSER_REDIRECT_URL=http://localhost:9001
|
|
command: server /data --console-address ":9001"
|
|
|
|
postgres:
|
|
restart: on-failure
|
|
image: pgvector/pgvector:pg15
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER:-postgres}
|
|
- POSTGRES_DB=${POSTGRES_DB:-postgres}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
|
|
- POSTGRES_HOST=${POSTGRES_HOST:-postgres}
|
|
- SUPABASE_PASSWORD=${SUPABASE_PASSWORD:-root}
|
|
ports:
|
|
- 5432:5432
|
|
volumes:
|
|
- ./migrations/before:/docker-entrypoint-initdb.d
|
|
# comment out the following line if you want to persist data when restarting docker
|
|
#- postgres_data:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
restart: on-failure
|
|
image: redis
|
|
ports:
|
|
- 6379:6379
|
|
|
|
gotrue:
|
|
restart: on-failure
|
|
image: appflowyinc/gotrue:${GOTRUE_VERSION:-latest}
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
# Gotrue config: https://github.com/supabase/auth/blob/master/example.env
|
|
- GOTRUE_ADMIN_EMAIL=${GOTRUE_ADMIN_EMAIL}
|
|
- GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD}
|
|
- GOTRUE_DISABLE_SIGNUP=${GOTRUE_DISABLE_SIGNUP:-false}
|
|
- GOTRUE_SITE_URL=appflowy-flutter:// # redirected to AppFlowy application
|
|
- URI_ALLOW_LIST=* # adjust restrict if necessary
|
|
- GOTRUE_JWT_SECRET=${GOTRUE_JWT_SECRET} # authentication secret
|
|
- GOTRUE_JWT_EXP=${GOTRUE_JWT_EXP}
|
|
# Without this environment variable, the createuser command will create an admin
|
|
# with the `admin` role as opposed to `supabase_admin`
|
|
- GOTRUE_JWT_ADMIN_GROUP_NAME=supabase_admin
|
|
- GOTRUE_DB_DRIVER=postgres
|
|
- API_EXTERNAL_URL=${API_EXTERNAL_URL}
|
|
- DATABASE_URL=${GOTRUE_DATABASE_URL}
|
|
- PORT=9999
|
|
- GOTRUE_MAILER_URLPATHS_CONFIRMATION=/verify
|
|
- 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_RATE_LIMIT_EMAIL_SENT=${GOTRUE_RATE_LIMIT_EMAIL_SENT:-100} # number of email sendable per minute
|
|
- GOTRUE_MAILER_AUTOCONFIRM=${GOTRUE_MAILER_AUTOCONFIRM:-false} # change this to true to skip email confirmation
|
|
# Google OAuth config
|
|
- GOTRUE_EXTERNAL_GOOGLE_ENABLED=${GOTRUE_EXTERNAL_GOOGLE_ENABLED}
|
|
- GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=${GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID}
|
|
- GOTRUE_EXTERNAL_GOOGLE_SECRET=${GOTRUE_EXTERNAL_GOOGLE_SECRET}
|
|
- GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=${GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI}
|
|
# Apple OAuth config
|
|
- GOTRUE_EXTERNAL_APPLE_ENABLED=${GOTRUE_EXTERNAL_APPLE_ENABLED}
|
|
- GOTRUE_EXTERNAL_APPLE_CLIENT_ID=${GOTRUE_EXTERNAL_APPLE_CLIENT_ID}
|
|
- GOTRUE_EXTERNAL_APPLE_SECRET=${GOTRUE_EXTERNAL_APPLE_SECRET}
|
|
- GOTRUE_EXTERNAL_APPLE_REDIRECT_URI=${GOTRUE_EXTERNAL_APPLE_REDIRECT_URI}
|
|
# GITHUB OAuth config
|
|
- GOTRUE_EXTERNAL_GITHUB_ENABLED=${GOTRUE_EXTERNAL_GITHUB_ENABLED}
|
|
- GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=${GOTRUE_EXTERNAL_GITHUB_CLIENT_ID}
|
|
- GOTRUE_EXTERNAL_GITHUB_SECRET=${GOTRUE_EXTERNAL_GITHUB_SECRET}
|
|
- GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=${GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI}
|
|
# Discord OAuth config
|
|
- GOTRUE_EXTERNAL_DISCORD_ENABLED=${GOTRUE_EXTERNAL_DISCORD_ENABLED}
|
|
- GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=${GOTRUE_EXTERNAL_DISCORD_CLIENT_ID}
|
|
- GOTRUE_EXTERNAL_DISCORD_SECRET=${GOTRUE_EXTERNAL_DISCORD_SECRET}
|
|
- GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=${GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI}
|
|
# Prometheus Metrics
|
|
- GOTRUE_METRICS_ENABLED=true
|
|
- GOTRUE_METRICS_EXPORTER=prometheus
|
|
- GOTRUE_MAILER_TEMPLATES_CONFIRMATION=${GOTRUE_MAILER_TEMPLATES_CONFIRMATION}
|
|
ports:
|
|
- 9999:9999
|
|
|
|
pgadmin:
|
|
restart: on-failure
|
|
image: dpage/pgadmin4
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
- PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}
|
|
- PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}
|
|
ports:
|
|
- 5400:80
|
|
volumes:
|
|
- ./docker/pgadmin/servers.json:/pgadmin4/servers.json
|
|
|
|
volumes:
|
|
postgres_data:
|