From 856761d407372567c75a23136bde5d1505630a66 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Thu, 2 Apr 2026 15:19:57 +0200 Subject: [PATCH] fix: supabase connection --- hosts/web-arm/modules/supabase/default.nix | 12 +++++------- hosts/web-arm/modules/supabase/env-generate.sh | 15 +++++++++------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/hosts/web-arm/modules/supabase/default.nix b/hosts/web-arm/modules/supabase/default.nix index ce515a7..19df8bb 100644 --- a/hosts/web-arm/modules/supabase/default.nix +++ b/hosts/web-arm/modules/supabase/default.nix @@ -26,6 +26,7 @@ in "d /var/lib/supabase/snippets 0755 root root -" ]; + # --- Systemd services: network, env generation, and container ordering --- systemd.services = let @@ -45,7 +46,7 @@ in "supabase-functions" ]; mkContainerDeps = name: { - "docker-${name}" = { + "podman-${name}" = { after = [ "init-supabase-network.service" "supabase-env-generate.service" ]; requires = [ "init-supabase-network.service" "supabase-env-generate.service" ]; }; @@ -54,22 +55,19 @@ in lib.mkMerge (map mkContainerDeps containerNames ++ [ { init-supabase-network = { - description = "Create supabase-net Docker network"; - after = [ "docker.service" ]; - requires = [ "docker.service" ]; + description = "Create supabase-net Podman network"; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; # '-' prefix tells systemd to ignore non-zero exit (network may already exist) - ExecStart = "-${pkgs.docker}/bin/docker network create supabase-net"; + ExecStart = "-${pkgs.podman}/bin/podman network create supabase-net"; }; }; supabase-env-generate = { description = "Generate Supabase per-container env files from SOPS secrets"; - after = [ "docker.service" ]; - requires = [ "docker.service" ]; wantedBy = [ "multi-user.target" ]; + path = [ pkgs.jq ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; diff --git a/hosts/web-arm/modules/supabase/env-generate.sh b/hosts/web-arm/modules/supabase/env-generate.sh index 331bfdc..ecf4f1b 100644 --- a/hosts/web-arm/modules/supabase/env-generate.sh +++ b/hosts/web-arm/modules/supabase/env-generate.sh @@ -6,6 +6,9 @@ set -a source "$1" set +a +# URL-encode password for use in connection strings +PG_PASS_ENCODED=$(printf '%s' "$POSTGRES_PASSWORD" | jq -sRr @uri) + cat > /run/supabase/db.env < /run/supabase/analytics.env < /run/supabase/auth.env < /run/supabase/rest.env < /run/supabase/realtime.env < /run/supabase/storage.env < /run/supabase/studio.env < /run/supabase/pooler.env <