diff --git a/docker/dev/docker-compose.dev.yml b/docker/dev/docker-compose.dev.yml new file mode 100644 index 00000000000..576946443bb --- /dev/null +++ b/docker/dev/docker-compose.dev.yml @@ -0,0 +1,10 @@ +version: "3.8" + +services: + mail: + container_name: supabase-mail + image: phamhieu/inbucket:latest + ports: + - '2500:2500' # SMTP + - '9000:9000' # web interface + - '1100:1100' # POP3 \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index e290a2705d3..776b374f4cd 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,3 +1,10 @@ + +# Usage +# Start: docker-compose up +# With helpers: docker-compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml up +# Stop: docker-compose down +# Destroy: docker-compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml down -v --remove-orphans + version: "3.8" services: @@ -8,16 +15,17 @@ services: ports: - ${KONG_HTTP_PORT}:8000/tcp - ${KONG_HTTPS_PORT}:8443/tcp - volumes: - - type: bind - source: ./volumes/kong.yml - target: /var/lib/kong/kong.yml environment: KONG_DATABASE: "off" KONG_DECLARATIVE_CONFIG: /var/lib/kong/kong.yml # https://github.com/supabase/cli/issues/14 KONG_DNS_ORDER: LAST,A,CNAME KONG_PLUGINS: request-transformer,cors,key-auth,acl + volumes: + - type: bind + source: ./volumes/api/kong.yml + target: /var/lib/kong/kong.yml + auth: container_name: supabase-auth image: supabase/gotrue:v2.1.8 @@ -54,6 +62,7 @@ services: GOTRUE_EXTERNAL_PHONE_ENABLED: ${ENABLE_PHONE_SIGNUP} GOTRUE_SMS_AUTOCONFIRM: ${ENABLE_PHONE_AUTOCONFIRM} + rest: container_name: supabase-rest image: postgrest/postgrest:v8.0.0 @@ -65,6 +74,7 @@ services: PGRST_DB_SCHEMA: public, storage PGRST_DB_ANON_ROLE: anon PGRST_JWT_SECRET: ${JWT_SECRET} + realtime: container_name: supabase-realtime image: supabase/realtime:v0.15.0 @@ -81,6 +91,7 @@ services: PORT: 4000 SECURE_CHANNELS: "true" JWT_SECRET: ${JWT_SECRET} + storage: container_name: supabase-storage image: supabase/storage-api:v0.9.3 @@ -88,10 +99,6 @@ services: - db - rest restart: unless-stopped - volumes: - - type: volume - source: volume_storage - target: /var/lib/storage environment: ANON_KEY: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYyNzIwODU0MCwiZXhwIjoxOTc0MzYzNzQwfQ.zcaQfHd3VA7XgJmdGfmV86OLVJT9s2MTmSy-e69BpUY SERVICE_KEY: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjI3MjA4NTQwLCJleHAiOjE5NzQzNjM3NDB9.pkT3PNpO4DtO45Ac5HK_TKCx8sGLgNtV__pr_ZrRSAU @@ -107,8 +114,13 @@ services: # TODO: https://github.com/supabase/storage-api/issues/55 REGION: stub GLOBAL_S3_BUCKET: stub - pg-meta: - container_name: supabase-pg-meta + volumes: + - type: volume + source: volume_storage + target: /var/lib/storage + + meta: + container_name: supabase-meta image: supabase/postgres-meta:v0.26.1 depends_on: - db @@ -117,6 +129,7 @@ services: PG_META_PORT: 8080 PG_META_DB_HOST: db PG_META_DB_PASSWORD: ${POSTGRES_PASSWORD} + db: container_name: supabase-db image: supabase/postgres:13.3.0 @@ -124,6 +137,9 @@ services: restart: unless-stopped ports: - ${POSTGRES_PORT}:5432 + environment: + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + PGDATA: /var/lib/postgresql/data/pgdata volumes: - type: volume source: volume_database @@ -131,9 +147,6 @@ services: - type: bind source: ./volumes/db/init target: /docker-entrypoint-initdb.d - environment: - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - PGDATA: /var/lib/postgresql/data/pgdata volumes: volume_database: @@ -142,7 +155,6 @@ volumes: type: none device: ./volumes/db/data o: bind - volume_storage: driver: local driver_opts: diff --git a/docker/volumes/kong.yml b/docker/volumes/api/kong.yml similarity index 100% rename from docker/volumes/kong.yml rename to docker/volumes/api/kong.yml