Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/adm01-debug_zapp-web-v3.json
T
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
22 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "adm01-debug/zapp-web-v3", "files": {"infra/supabase/docker-compose.supabase.yml": {"431543ffe1e04d66b8f3bf8456829b868985a961": {"t": 1786068430.7571278, "n": 21876, "h": "b0f957884be0214f", "c": "# Docker Compose do Supabase self-hosted — ESPELHO DO RUNTIME (stack 35 / Portainer)\n#\n# Obtido via Portainer get_stack_file (stack 35) em 2026-08-06 durante auditoria\n# exaustiva (EX-03). Fonte de verdade do runtime: /data/compose/35 no Portainer.\n# Este arquivo existe para permitir diff repo×runtime em auditorias futuras.\n#\n# ⚠️ REGRAS:\n# - NUNCA editar este arquivo esperando efeito no runtime — o runtime só muda\n# via update_stack no Portainer (stack 35).\n# - Valores de secrets NÃO são incluídos: todos são secrets externos do Swarm.\n# - Exceção documentada: PROMOGIFTS_SUPABASE_ANON_KEY (anon key pública por\n# definição) aparece como literal porque é assim no runtime.\n# - Após qualquer update_stack(35), re-sincronizar este espelho (git diff).\n\nversion: \"3.7\"\n\n# AG-EX-05 STACK SYNC GATE (2026-08-05)\n# AG-EX2-07 (2026-08-06): EXCECAO DO REST ELIMINADA — literais PGRST_DB_URI /\n# PGRST_JWT_SECRET / PGRST_APP_SETTINGS_* -> secret postgrest_conf_v1 montado\n# em /etc/postgrest/postgrest.conf (config file postgrest v14.12, validado em\n# servico descartavel 2026-08-06: conectou PG 15.8 + listener pgrst).\n\nservices:\n studio:\n image: supabase/studio:2026.06.29-sha-20290c7\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export LOGFLARE_API_KEY=$$(cat /run/secrets/logflare_api_key_v2) && export SUPABASE_ANON_KEY=$$(cat /run/secrets/supabase_anon_key_v2) && export SUPABASE_SERVICE_KEY=$$(cat /run/secrets/supabase_service_key_v3) && export SUPABASE_PUBLISHABLE_KEY=$$(cat /run/secrets/supabase_anon_key_v2) && export SUPABASE_SECRET_KEY=$$(cat /run/secrets/supabase_service_key_v3) && export AUTH_JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v2) && export POSTGRES_PASSWORD=$$(cat /run/secrets/supabase_db_password_v2) && export PG_META_CRYPTO_KEY=$$(cat /run/secrets/pg_meta_crypto_key_v2) && exec docker-entrypoint.sh node apps/studio/server.js\"\n networks:\n - AtomicaBRNet\n volumes:\n - /root/supabase/docker/volumes/functions:/home/deno/functions:ro\n - /root/supabase/docker/volumes/snippets:/home/deno/snippets\n secrets:\n - logflare_api_key_v2\n - supabase_anon_key_v2\n - supabase_service_key_v3\n - supabase_jwt_secret_v2\n - supabase_db_password_v2\n - pg_meta_crypto_key_v2\n environment:\n - HOSTNAME=0.0.0.0\n - NEXT_PUBLIC_ENABLE_LOGS=true\n - NEXT_ANALYTICS_BACKEND_PROVIDER=logflare\n - ENABLED_FEATURES_LOGS_ALL=true\n - DEFAULT_ORGANIZATION_NAME=Promo Brindes\n - DEFAULT_PROJECT_NAME=BrasilMarcas\n - STUDIO_PG_META_URL=http://meta:8080\n - SUPABASE_URL=http://kong:8000\n - SUPABASE_PUBLIC_URL=https://supabase.atomicabr.com.br\n - LOGFLARE_URL=http://analytics:4000\n - PGRST_DB_SCHEMAS=public,storage,graphql_public\n - PGRST_DB_EXTRA_SEARCH_PATH=public,extensions\n - PGRST_DB_MAX_ROWS=1000\n - EDGE_FUNCTIONS_MANAGEMENT_FOLDER=/home/deno/functions\n - SNIPPETS_MANAGEMENT_FOLDER=/home/deno/snippets\n healthcheck:\n test: [\"CMD-SHELL\", \"node -e \\\"fetch('http://localhost:3000/api/platform/profile').then((r) => {if (r.status !== 200) throw new Error(r.status)})\\\"\"]\n interval: 5s\n timeout: 5s\n retries: 3\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n cpus: \"0.5\"\n memory: 1536M\n reservations:\n memory: 256M\n update_config:\n failure_action: rollback\n order: stop-first\n labels:\n - \"com.docker.stack.image=supabase/studio:2026.06.29-sha-20290c7\"\n\n functions:\n image: supabase/edge-runtime:v1.74.0\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v1) && export DB_PASS=$$(cat /run/secrets/supabase_db_password_v1) && export SUPABASE_DB_URL=postgresql://postgres:$${DB_PASS}@db:5432/postgres && export SUPABASE_SERVICE_ROLE_KEY=$$(cat /run/secrets/supabase_service_key_v3) && export EVOLUTION_WEBHOOK_SECRETS=$$(cat /run/secrets/supabase_evolution_webhook_secret_v1) && export SELFHOSTED_SUPABASE_URL=https://supabase.atomicabr.com.br && export SELFHOSTED_SUPABASE_SERVICE_ROLE_KEY=$$(cat /run/secrets/supabase_service_key_v3) && export SELFHOSTED_SUPABASE_ANON_KEY=$$(cat /run/secrets/supabase_anon_key_v2) && export SUPABASE_ANON_KEY=$$(cat /run/secrets/supabase_anon_key_v2) && export SENTRY_DSN=$$(cat /run/secrets/sentry_dsn_v2) && export HEALTH_SECRET=$$(cat /run/secrets/health_secret_v2) && export METRICS_SCRAPE_TOKEN=$$(cat /run/secrets/metrics_scrape_token_v2) && export DEEPSEEK_API_KEY=$$(cat /run/secrets/deepseek_api_key_v2) && export EVOLUTION_API_KEY=$$(cat /run/secrets/evolution_api_key_v4_20260704) && exec edge-runtime start --main-service /home/deno/functions/main # secrets-v1\"\n volumes:\n - /root/supabase/docker/volumes/functions:/home/deno/functions:Z\n secrets:\n - supabase_jwt_secret_v1\n - supabase_db_password_v1\n - supabase_service_key_v3\n - supabase_evolution_webhook_secret_v1\n - deepseek_api_key_v2\n - source: evolution_api_key_v5_20260805\n target: evolution_api_key_v4_20260704\n - supabase_anon_key_v2\n - sentry_dsn_v2\n - health_secret_v2\n - metrics_scrape_token_v2\n networks:\n - AtomicaBRNet\n environment:\n - VERIFY_JWT=true\n - SUPABASE_URL=http://kong:8000\n - PROMOGIFTS_SUPABASE_URL=https://doufsxqlfjyuvxuezpln.supabase.co\n - PROMOGIFTS_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRvdWZzeHFsZmp5dXZ4dWV6cGxuIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjczODY2NDMsImV4cCI6MjA4Mjk2MjY0M30.nm3WMOBSx5SUnIBmvF_Mj0Y-4hV6UohrBF0sUpuQvPc\n - EVOLUTION_API_URL=https://evolution.atomicabr.com.br\n - AI_BASE_URL=https://api.deepseek.com/v1\n - AI_ROUTER_URL=https://supabase.atomicabr.com.br/functions/v1/ai-router\n - GMAIL_PUBSUB_TOPIC=projects/zapp-web/topics/gmail-push\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n cpus: \"1.0\"\n memory: 1536M\n reservations:\n memory: 256M\n update_config:\n failure_action: rollback\n order: stop-first\n\n kong:\n image: kong:3.9.3\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export SUPABASE_ANON_KEY=$$(cat /run/secrets/supabase_anon_key_v2) && export JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v1) && export SUPABASE_SERVICE_KEY=$$(cat /run/secrets/supabase_service_key_v3) && export DASHBOARD_PASSWORD=$$(cat /run/secrets/kong_dashboard_password_v1) && eval \\\"echo \\\\\\\"$$(cat ~/temp.yml)\\\\\\\"\\\" > /tmp/kong.yml && exec /docker-entrypoint.sh kong docker-start\"\n volumes:\n - /root/supabase/docker/volumes/api/kong.yml:/home/kong/temp.yml:ro\n secrets:\n - supabase_jwt_secret_v1\n - supabase_service_key_v3\n - kong_dashboard_password_v1\n - supabase_anon_key_v2\n networks:\n - AtomicaBRNet\n environment:\n - DASHBOARD_USERNAME=AtomicaBR\n - KONG_DATABASE=off\n - KONG_DECLARATIVE_CONFIG=/tmp/kong.yml\n - KONG_DNS_ORDER=LAST,A,CNAME\n - KONG_PLUGINS=request-transformer,cors,key-auth,acl,basic-auth,request-termination,rate-limiting\n - KONG_NGINX_PROXY_PROXY_BUFFER_SIZE=160k\n - KONG_NGINX_PROXY_PROXY_BUFFERS=64 160k\n healthcheck:\n test: [\"CMD-SHELL\", \"kong health\"]\n interval: 10s\n timeout: 10s\n retries: 10\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 2g\n update_config:\n failure_action: rollback\n order: stop-first\n labels:\n - traefik.enable=true\n - traefik.http.routers.kong.rule=Host(`supabase.atomicabr.com.br`) && PathPrefix(`/`)\n - traefik.http.services.kong.loadbalancer.server.port=8000\n - traefik.http.routers.kong.service=kong\n - traefik.http.routers.kong.entrypoints=websecure\n - traefik.http.routers.kong.tls.certresolver=letsencryptresolver\n - traefik.http.routers.kong.tls=true\n\n auth:\n image: supabase/gotrue:v2.189.0\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export DB_PASS=$$(cat /run/secrets/supabase_db_password_v1) && export GOTRUE_DB_DATABASE_URL=postgres://supabase_auth_admin:$${DB_PASS}@db:5432/postgres && export GOTRUE_JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v1) && export GOTRUE_SMTP_PASS=$$(cat /run/secrets/gmail_smtp_password_v1) && exec auth\"\n secrets:\n - supabase_db_password_v1\n - supabase_jwt_secret_v1\n - gmail_smtp_password_v1\n networks:\n - AtomicaBRNet\n environment:\n - GOTRUE_API_HOST=0.0.0.0\n - GOTRUE_API_PORT=9999\n - API_EXTERNAL_URL=https://supabase.atomicabr.com.br\n - GOTRUE_DB_DRIVER=postgres\n - GOTRUE_SITE_URL=https://zapp.atomicabr.com.br\n - GOTRUE_URI_ALLOW_LIST=https://whats-your-line.lovable.app,https://zapp.atomicabr.com.br,https://supabase.atomicabr.com.br,https://zapp-web-v3.vercel.app,https://zappweb.app.br,https://www.zappweb.app.br\n - GOTRUE_DISABLE_SIGNUP=true\n - GOTRUE_JWT_ADMIN_ROLES=service_role\n - GOTRUE_JWT_AUD=authenticated\n - GOTRUE_JWT_EXP=28800\n - GOTRUE_JWT_ISSUER=https://supabase.atomicabr.com.br/auth/v1\n - GOTRUE_EXTERNAL_EMAIL_ENABLED=true\n - GOTRUE_EXTERNAL_ANONYMOUS_USERS_ENABLED=false\n - GOTRUE_MAILER_AUTOCONFIRM=true\n - GOTRUE_SMTP_ADMIN_EMAIL=ti04.promobrindes@gmail.com\n - GOTRUE_SMTP_HOST=smtp.gmail.com\n - GOTRUE_SMTP_PORT=587\n - GOTRUE_SMTP_USER=ti04.promobrindes@gmail.com\n - GOTRUE_SMTP_SENDER_NAME=AtomicaBR\n - GOTRUE_MAILER_URLPATHS_INVITE=/auth/v1/verify\n - GOTRUE_MAILER_URLPATHS_CONFIRMATION=/auth/v1/verify\n - GOTRUE_MAILER_URLPATHS_RECOVERY=/auth/v1/verify\n - GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE=/auth/v1/verify\n - GOTRUE_EXTERNAL_PHONE_ENABLED=false\n - GOTRUE_SMS_AUTOCONFIRM=false\n - GOTRUE_SESSIONS_MAX_USER_SESSIONS=10\n - GOTRUE_SECURITY_REFRESH_TOKEN_ROTATION_ENABLED=true\n - GOTRUE_SECURITY_REFRESH_TOKEN_REUSE_INTERVAL=10\n - GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED=true\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 1g\n update_config:\n failure_action: rollback\n order: stop-first\n\n rest:\n image: postgrest/postgrest:v14.12\n # AG-EX2-07: literais ELIMINADOS — config file via secret postgrest_conf_v1\n command: [\"postgrest\", \"/etc/postgrest/postgrest.conf\"]\n networks:\n - AtomicaBRNet\n secrets:\n - source: postgrest_conf_v1\n target: /etc/postgrest/postgrest.conf\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 1g\n update_config:\n failure_action: rollback\n order: stop-first\n\n realtime:\n image: supabase/realtime:v2.102.3\n entrypoint: [\"/usr/bin/tini\", \"-s\", \"-g\", \"--\"]\n command:\n - \"/bin/sh\"\n - \"-c\"\n - \"export SECRET_KEY_BASE=$$(cat /run/secrets/secret_key_base_v2) && export METRICS_JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v2) && export DB_PASSWORD=$$(cat /run/secrets/supabase_db_password_v1) && export API_JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v1) && exec /app/run.sh /app/bin/server\"\n secrets:\n - supabase_db_password_v1\n - supabase_jwt_secret_v1\n - secret_key_base_v2\n - supabase_jwt_secret_v2\n networks:\n - AtomicaBRNet\n environment:\n - PORT=4000\n - APP_NAME=realtime\n - DB_HOST=db\n - DB_PORT=5432\n - DB_USER=supabase_admin\n - DB_NAME=postgres\n - DB_AFTER_CONNECT_QUERY=SET search_path TO _realtime\n - DB_ENC_KEY=supabaserealtime\n - ERL_AFLAGS=-proto_dist inet_tcp\n - DNS_NODES=\"''\"\n - RLIMIT_NOFILE=10000\n - SEED_SELF_HOST=true\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 1g\n update_config:\n failure_action: rollback\n order: stop-first\n\n storage:\n image: supabase/storage-api:v1.60.4\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export ANON_KEY=$$(cat /run/secrets/supabase_anon_key_v2) && export DB_PASS=$$(cat /run/secrets/supabase_db_password_v1) && export DATABASE_URL=postgres://supabase_storage_admin:$${DB_PASS}@db:5432/postgres && export PGRST_JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v1) && export SERVICE_KEY=$$(cat /run/secrets/supabase_service_key_v3) && exec node dist/start/server.js\"\n volumes:\n - /root/supabase/docker/volumes/storage:/var/lib/storage:z\n secrets:\n - supabase_db_password_v1\n - supabase_jwt_secret_v1\n - supabase_service_key_v3\n - supabase_anon_key_v2\n networks:\n - AtomicaBRNet\n environment:\n - POSTGREST_URL=http://rest:3000\n - FILE_SIZE_LIMIT=52428800\n - STORAGE_BACKEND=file\n - FILE_STORAGE_BACKEND_PATH=/var/lib/storage\n - ENABLE_IMAGE_TRANSFORMATION=\"true\"\n - IMGPROXY_URL=http://imgproxy:5001\n - TENANT_ID=stub\n - REGION=eu-south\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 1g\n update_config:\n failure_action: rollback\n order: stop-first\n\n imgproxy:\n image: darthsim/imgproxy:v3.30.1\n volumes:\n - /root/supabase/docker/volumes/storage:/var/lib/storage:z\n networks:\n - AtomicaBRNet\n environment:\n - IMGPROXY_BIND=:5001\n - IMGPROXY_LOCAL_FILESYSTEM_ROOT=/\n - IMGPROXY_USE_ETAG=\"true\"\n - IMGPROXY_ENABLE_WEBP_DETECTION=true\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 512m\n update_config:\n failure_action: rollback\n order: stop-first\n\n meta:\n image: supabase/postgres-meta:v0.96.6\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export CRYPTO_KEY=$$(cat /run/secrets/pg_meta_crypto_key_v2) && export PG_META_CRYPTO_KEY=$$(cat /run/secrets/pg_meta_crypto_key_v2) && export PG_META_DB_PASSWORD=$$(cat /run/secrets/supabase_db_password_v1) && exec node dist/server/server.js\"\n secrets:\n - supabase_db_password_v1\n - pg_meta_crypto_key_v2\n networks:\n - AtomicaBRNet\n environment:\n - PG_META_PORT=8080\n - PG_META_DB_HOST=db\n - PG_META_DB_PORT=5432\n - PG_META_DB_NAME=postgres\n - PG_META_DB_USER=postgres\n - NODE_OPTIONS=--max-old-space-size=1024\n healthcheck:\n test: [\"CMD-SHELL\", \"node -e \\\"fetch('http://localhost:8080/health').then((r) => {if (r.status !== 200) throw new Error(r.status)})\\\"\"]\n interval: 5s\n timeout: 5s\n retries: 3\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n cpus: \"0.5\"\n memory: 1536M\n reservations:\n memory: 128M\n update_config:\n failure_action: rollback\n order: stop-first\n\n analytics:\n image: supabase/logflare:1.43.1\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export LOGFLARE_API_KEY=$$(cat /run/secrets/logflare_api_key_v2) && export DB_PASS=$$(cat /run/secrets/supabase_db_password_v1) && export DB_PASSWORD=$${DB_PASS} && export POSTGRES_BACKEND_URL=postgresql://supabase_admin:$${DB_PASS}@db:5432/_supabase && exec sh run.sh\"\n secrets:\n - supabase_db_password_v1\n - logflare_api_key_v2\n networks:\n - AtomicaBRNet\n environment:\n - DB_USERNAME=supabase_admin\n - DB_DATABASE=_supabase\n - DB_HOSTNAME=db\n - DB_PORT=5432\n - DB_SCHEMA=_analytics\n - POSTGRES_BACKEND_SCHEMA=_analytics\n - LOGFLARE_NODE_HOST=127.0.0.1\n - LOGFLARE_SINGLE_TENANT=true\n - LOGFLARE_SUPABASE_MODE=true\n - LOGFLARE_MIN_CLUSTER_SIZE=1\n - LOGFLARE_FEATURE_FLAG_OVERRIDE=multibackend=true\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 1g\n update_config:\n failure_action: rollback\n order: stop-first\n\n db:\n image: supabase/postgres:15.8.1.085\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v2) && exec docker-entrypoint.sh postgres -c config_file=/etc/postgresql/postgresql.conf -c log_min_messages=fatal\"\n volumes:\n - /root/supabase/docker/volumes/db/realtime.sql:/docker-entrypoint-initdb.d/migrations/99-realtime.sql:Z\n - /root/supabase/docker/volumes/db/webhooks.sql:/docker-entrypoint-initdb.d/init-scripts/98-webhooks.sql:Z\n - /root/supabase/docker/volumes/db/roles.sql:/docker-entrypoint-initdb.d/init-scripts/99-roles.sql:Z\n - /root/supabase/docker/volumes/db/jwt.sql:/docker-entrypoint-initdb.d/init-scripts/99-jwt.sql:Z\n - /root/supabase/docker/volumes/db/data:/var/lib/postgresql/data:Z\n - /root/supabase/docker/volumes/db/_supabase.sql:/docker-entrypoint-initdb.d/migrations/97-_supabase.sql:Z\n - /root/supabase/docker/volumes/db/logs.sql:/docker-entrypoint-initdb.d/migrations/99-logs.sql:Z\n - /root/supabase/docker/volumes/db/pooler.sql:/docker-entrypoint-initdb.d/migrations/99-pooler.sql:Z\n - supabase_db_config:/etc/postgresql-custom\n secrets:\n - supabase_db_password_v1\n - supabase_jwt_secret_v1\n - supabase_jwt_secret_v2\n networks:\n - AtomicaBRNet\n environment:\n - POSTGRES_HOST=/var/run/postgresql\n - PGPORT=5432\n - POSTGRES_PORT=5432\n - POSTGRES_PASSWORD_FILE=/run/secrets/supabase_db_password_v1\n - POSTGRES_DB=postgres\n - PGDATABASE=postgres\n - JWT_EXP=28800\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 10g\n update_config:\n failure_action: rollback\n order: stop-first\n labels:\n - com.centurylinklabs.watchtower.enable=false\n\n vector:\n image: timberio/vector:0.53.0-alpine\n entrypoint: [\"/bin/sh\", \"-c\"]\n command:\n - \"export LOGFLARE_API_KEY=$$(cat /run/secrets/logflare_api_key_v2) && exec /usr/local/bin/vector --config etc/vector/vector.yml\"\n secrets:\n - logflare_api_key_v2\n volumes:\n - /root/supabase/docker/volumes/logs/vector.yml:/etc/vector/vector.yml:ro\n - /var/run/docker.sock:/var/run/docker.sock:ro\n networks:\n - AtomicaBRNet\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 256m\n update_config:\n failure_action: rollback\n order: stop-first\n\n supavisor:\n image: supabase/supavisor:2.9.5\n entrypoint: [\"/usr/bin/tini\", \"-s\", \"-g\", \"--\", \"/app/limits.sh\"]\n command:\n - \"/bin/sh\"\n - \"-c\"\n - \"export SECRET_KEY_BASE=$$(cat /run/secrets/secret_key_base_v2) && export DB_PASS=$$(cat /run/secrets/supabase_db_password_v1) && export POSTGRES_PASSWORD=$${DB_PASS} && export DATABASE_URL=ecto://postgres:$${DB_PASS}@db:5432/_supabase && export API_JWT_SECRET=$$(cat /run/secrets/supabase_jwt_secret_v1) && export METRICS_JWT_SECRET=$${API_JWT_SECRET} && /app/bin/migrate && /app/bin/supavisor eval \\\"$$(cat /etc/pooler/pooler.exs)\\\" && exec /app/bin/server\"\n volumes:\n - /root/supabase/docker/volumes/pooler/pooler.exs:/etc/pooler/pooler.exs:ro\n secrets:\n - supabase_db_password_v1\n - supabase_jwt_secret_v1\n - secret_key_base_v2\n networks:\n - AtomicaBRNet\n environment:\n - POSTGRES_PORT=5432\n - POSTGRES_DB=postgres\n - POSTGRES_HOST=db\n - CLUSTER_POSTGRES=true\n - VAULT_ENC_KEY=your-encryption-key-32-chars-min\n - REGION=local\n - ERL_AFLAGS=-proto_dist inet_tcp\n - POOLER_TENANT_ID=1\n - POOLER_DEFAULT_POOL_SIZE=20\n - POOLER_MAX_CLIENT_CONN=100\n - POOLER_POOL_MODE=transaction\n - PORT=4000\n deploy:\n mode: replicated\n replicas: 1\n placement:\n constraints:\n - node.role == manager\n resources:\n limits:\n memory: 1g\n update_config:\n failure_action: rollback\n order: stop-first\n\nsecrets:\n supabase_db_password_v1:\n external: true\n supabase_jwt_secret_v1:\n external: true\n supabase_service_key_v1:\n external: true\n gmail_smtp_password_v1:\n external: true\n kong_dashboard_password_v1:\n external: true\n supabase_evolution_webhook_secret_v1:\n external: true\n deepseek_api_key_v2:\n external: true\n evolution_api_key_v5_20260805:\n external: true\n supabase_db_password_v2:\n external: true\n supabase_jwt_secret_v2:\n external: true\n supabase_anon_key_v2:\n external: true\n supabase_service_key_v2:\n external: true\n supabase_service_key_v3:\n external: true\n supabase_vault_enc_key_v1:\n external: true\n logflare_api_key_v2:\n external: true\n pg_meta_crypto_key_v2:\n external: true\n secret_key_base_v2:\n external: true\n sentry_dsn_v2:\n external: true\n health_secret_v2:\n external: true\n metrics_scrape_token_v2:\n external: true\n postgrest_conf_v1:\n external: true\n\nvolumes:\n supabase_db_config:\n external: true\n name: supabase_db_config\n\nnetworks:\n AtomicaBRNet:\n external: true\n name: AtomicaBRNet\n"}}}}