version: '3.8' services: db: image: supabase/postgres:latest container_name: supabase-db ports: - "5432:5432" environment: POSTGRES_PASSWORD: postgres volumes: - db_data:/var/lib/postgresql/data studio: image: supabase/studio:latest container_name: supabase-studio ports: - "3000:3000" environment: STUDIO_PG_META_URL: http://meta:8080 POSTGRES_PASSWORD: postgres meta: image: supabase/postgres-meta:latest container_name: supabase-meta ports: - "8080:8080" environment: PG_META_PORT: 8080 PG_META_DB_HOST: db PG_META_DB_PASSWORD: postgres auth: image: supabase/gotrue:latest container_name: supabase-auth ports: - "9999:9999" environment: GOTRUE_API_HOST: 0.0.0.0 GOTRUE_API_PORT: 9999 API_EXTERNAL_URL: http://localhost:9999 GOTRUE_DB_DRIVER: postgres GOTRUE_DB_HOST: db GOTRUE_DB_PORT: 5432 GOTRUE_DB_NAME: postgres GOTRUE_DB_USER: postgres GOTRUE_DB_PASSWORD: postgres GOTRUE_JWT_SECRET: your-super-secret-jwt-token-with-at-least-32-characters-long GOTRUE_JWT_EXP: 3600 GOTRUE_JWT_DEFAULT_GROUP_NAME: authenticated rest: image: postgrest/postgrest:latest container_name: supabase-rest ports: - "3001:3000" environment: PGRST_DB_URI: postgres://postgres:postgres@db:5432/postgres PGRST_DB_SCHEMA: public PGRST_DB_ANON_ROLE: anon PGRST_JWT_SECRET: your-super-secret-jwt-token-with-at-least-32-characters-long volumes: db_data: