{ config, lib, pkgs, ... }: { networking.hostName = "app-host"; services.gebos.secrets.supabase = true; services.gebos.supabase = { enable = true; # Compose stack points at external db-host instead of the bundled `db` service. postgresHost = "db-host.gebos.internal"; # TODO: real internal hostname postgresPort = 5432; # Studio bound to loopback only — reach via `ssh -L 3000:127.0.0.1:3000 app-host`. studioBindAddress = "127.0.0.1"; }; services.gebos.caddy = { enable = true; # Caddy terminates TLS, proxies to Kong on 127.0.0.1:8000. sites = { "api.ge-bos.de" = { upstream = "127.0.0.1:8000"; }; # → Kong → PostgREST/GoTrue "app.ge-bos.de" = { staticRoot = "${config.services.gebos.frontend.package}/share/frontend"; }; }; }; services.gebos.frontend.enable = true; networking.firewall.allowedTCPPorts = [ 80 443 ]; }