Files
CRAPP/infra/supabase/docker/docker-compose.prod.yml
T

35 lines
1.6 KiB
YAML
Raw Normal View History

# Override di produzione, pensato per girare anche su hardware limitato (es. Raspberry Pi 4).
#
# 1. Nessuna porta esposta pubblicamente: l'API gateway (Kong/envoy, che serve anche Studio)
# resta raggiungibile solo su 127.0.0.1 — mettici davanti un reverse proxy TLS (vedi
# Caddyfile.example). Postgres di suo non espone porte nel compose base (supavisor sì,
# ma non ci serve: l'app si connette al DB sulla rete interna Docker, non da host esterno).
# 2. Servizi mai usati da CrAPP disattivati (nessuna route usa Storage/imgproxy/Realtime/Edge
# Functions/pooler — verificato: zero `.storage.`, `.functions.invoke`, `.channel()` nel
# codice, e gli avatar sono salvati come dataURL nel DB, non su Storage).
# 3. `studio` + `meta` restano attivi: servono per guardare/gestire il database via interfaccia
# grafica (raggiungibile tramite lo stesso api-gw su 127.0.0.1:8000, con le credenziali
# DASHBOARD_USERNAME/DASHBOARD_PASSWORD del tuo .env).
#
# Uso: docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
services:
api-gw:
# Compose unisce le liste `ports` tra file invece di sostituirle: serve !override
# per rimpiazzare davvero il binding pubblico del file base con uno solo-locale.
ports: !override
- "127.0.0.1:${API_GW_HTTP_PORT:-${KONG_HTTP_PORT:-8000}}:8000/tcp"
# Mai usati da CrAPP: profilo "unused" mai attivato, quindi `docker compose up -d`
# di default non li avvia nemmeno.
realtime:
profiles: ["unused"]
storage:
profiles: ["unused"]
imgproxy:
profiles: ["unused"]
functions:
profiles: ["unused"]
supavisor:
profiles: ["unused"]