112 lines
3.0 KiB
YAML
112 lines
3.0 KiB
YAML
# docker-compose.yml
|
|
|
|
version: '3'
|
|
services:
|
|
storage:
|
|
image: supabase/storage-api:latest
|
|
ports:
|
|
- '5000:5000'
|
|
depends_on:
|
|
tenant_db:
|
|
condition: service_healthy
|
|
pg_bouncer:
|
|
condition: service_started
|
|
minio_setup:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
# Server
|
|
SERVER_PORT: 5000
|
|
# Auth
|
|
AUTH_JWT_SECRET: f023d3db-39dc-4ac9-87b2-b2be72e9162b
|
|
AUTH_JWT_ALGORITHM: HS256
|
|
# Single tenant Mode
|
|
DATABASE_URL: postgres://postgres:postgres@tenant_db:5432/postgres
|
|
DATABASE_POOL_URL: postgresql://postgres:postgres@pg_bouncer:6432/postgres
|
|
# Migrations
|
|
DB_INSTALL_ROLES: true # set to false if you want to manage roles yourself
|
|
# Storage
|
|
STORAGE_BACKEND: s3
|
|
STORAGE_S3_BUCKET: supa-storage-bucket # name of s3 bucket where you want to store objects
|
|
STORAGE_S3_ENDPOINT: http://minio:9000
|
|
STORAGE_S3_FORCE_PATH_STYLE: "true"
|
|
STORAGE_S3_REGION: us-east-1
|
|
AWS_ACCESS_KEY_ID: supa-storage
|
|
AWS_SECRET_ACCESS_KEY: secret1234
|
|
# Upload
|
|
UPLOAD_FILE_SIZE_LIMIT: 524288000
|
|
UPLOAD_FILE_SIZE_LIMIT_STANDARD: 52428800
|
|
UPLOAD_SIGNED_URL_EXPIRATION_TIME: 120
|
|
TUS_URL_PATH: /upload/resumable
|
|
TUS_URL_EXPIRY_MS: 3600000
|
|
# Image Transformation
|
|
IMAGE_TRANSFORMATION_ENABLED: "true"
|
|
IMGPROXY_URL: http://imgproxy:8080
|
|
IMGPROXY_REQUEST_TIMEOUT: 15
|
|
# S3 Protocol
|
|
S3_PROTOCOL_ACCESS_KEY_ID: 625729a08b95bf1b7ff351a663f3a23c
|
|
S3_PROTOCOL_ACCESS_KEY_SECRET: 850181e4652dd023b7a98c58ae0d2d34bd487ee0cc3254aed6eda37307425907
|
|
|
|
tenant_db:
|
|
extends:
|
|
service: tenant_db
|
|
file: ./.docker/docker-compose-infra.yml
|
|
|
|
pg_bouncer:
|
|
extends:
|
|
service: pg_bouncer
|
|
file: ./.docker/docker-compose-infra.yml
|
|
|
|
minio:
|
|
extends:
|
|
service: minio
|
|
file: ./.docker/docker-compose-infra.yml
|
|
|
|
minio_setup:
|
|
extends:
|
|
service: minio_setup
|
|
file: ./.docker/docker-compose-infra.yml
|
|
depends_on:
|
|
minio:
|
|
condition: service_healthy
|
|
|
|
imgproxy:
|
|
extends:
|
|
service: imgproxy
|
|
file: ./.docker/docker-compose-infra.yml
|
|
|
|
# Optional for rate-limiting
|
|
# redis:
|
|
# extends:
|
|
# service: redis
|
|
# file: ./.docker/docker-compose-infra.yml
|
|
|
|
# Optional for monitoring
|
|
# pg_bouncer_exporter:
|
|
# extends:
|
|
# service: pg_bouncer_exporter
|
|
# file: ./.docker/docker-compose-monitoring.yml
|
|
|
|
# postgres_exporter:
|
|
# extends:
|
|
# service: postgres_exporter
|
|
# file: ./.docker/docker-compose-monitoring.yml
|
|
#
|
|
# grafana:
|
|
# extends:
|
|
# service: grafana
|
|
# file: ./.docker/docker-compose-monitoring.yml
|
|
#
|
|
# prometheus:
|
|
# extends:
|
|
# service: prometheus
|
|
# file: ./.docker/docker-compose-monitoring.yml
|
|
#
|
|
# otel:
|
|
# extends:
|
|
# service: otel-collector
|
|
# file: ./.docker/docker-compose-monitoring.yml
|
|
#
|
|
# jaeger:
|
|
# extends:
|
|
# service: jaeger
|
|
# file: ./.docker/docker-compose-monitoring.yml |