Aggiungo stack Supabase self-hosted e config di produzione
Stack Docker completo in infra/supabase/docker/ (vendored da supabase/supabase) per svincolare dev e produzione da Lovable Cloud. Include override di produzione che non espone porte pubblicamente e disattiva i servizi non usati da CrAPP (Realtime, Storage, imgproxy, Edge Functions, pooler), un Caddyfile con routing /api/* per un solo dominio, e i template .env per app e stack. Forzo inoltre il preset Nitro a node-server in vite.config.ts, dato che il default sarebbe Cloudflare Workers.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# 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"]
|
||||
Reference in New Issue
Block a user