From 27ed36425279407c9df662dac2360b17effa2c83 Mon Sep 17 00:00:00 2001 From: Simon Strandgaard Date: Sat, 21 Mar 2026 17:30:56 +0100 Subject: [PATCH 1/3] fix: rename database_worker postgres env vars to PLANEXE_POSTGRES_* convention Use PLANEXE_POSTGRES_HOST/PORT/DB/USER/PASSWORD consistently with the rest of the project instead of PGHOST/PGPORT/PGDATABASE/PGUSER/PGPASSWORD. Co-Authored-By: Claude Opus 4.6 (1M context) --- database_worker/railway.md | 14 +++++++------- database_worker/server.py | 10 +++++----- docker-compose.yml | 10 +++++----- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/database_worker/railway.md b/database_worker/railway.md index 622ea2f8..ab4500da 100644 --- a/database_worker/railway.md +++ b/database_worker/railway.md @@ -7,18 +7,18 @@ This service provides database backup (via `pg_dump`) and is called by `frontend ## Service variables example ``` -PGHOST="${{shared.PLANEXE_POSTGRES_HOST}}" -PGPORT="5432" -PGDATABASE="planexe" -PGUSER="planexe" -PGPASSWORD="${{shared.PLANEXE_POSTGRES_PASSWORD}}" +PLANEXE_POSTGRES_HOST="${{shared.PLANEXE_POSTGRES_HOST}}" +PLANEXE_POSTGRES_PORT="5432" +PLANEXE_POSTGRES_DB="planexe" +PLANEXE_POSTGRES_USER="planexe" +PLANEXE_POSTGRES_PASSWORD="${{shared.PLANEXE_POSTGRES_PASSWORD}}" PLANEXE_DATABASE_WORKER_API_KEY="${{shared.PLANEXE_DATABASE_WORKER_API_KEY}}" ``` ## Required Environment Variables -- `PGHOST` — Postgres host. On Railway, use the internal hostname (e.g. `postgres.railway.internal`). The Docker Compose default `database_postgres` does not resolve on Railway. -- `PGPASSWORD` — Postgres password. +- `PLANEXE_POSTGRES_HOST` — Postgres host. On Railway, use the internal hostname (e.g. `postgres.railway.internal`). The Docker Compose default `database_postgres` does not resolve on Railway. +- `PLANEXE_POSTGRES_PASSWORD` — Postgres password. ## Optional Environment Variables diff --git a/database_worker/server.py b/database_worker/server.py index 00505ab7..d69aca26 100644 --- a/database_worker/server.py +++ b/database_worker/server.py @@ -9,11 +9,11 @@ logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s") logger = logging.getLogger(__name__) -PGHOST = os.environ.get("PGHOST", "database_postgres") -PGPORT = os.environ.get("PGPORT", "5432") -PGDATABASE = os.environ.get("PGDATABASE", "planexe") -PGUSER = os.environ.get("PGUSER", "planexe") -PGPASSWORD = os.environ.get("PGPASSWORD", "planexe") +PGHOST = os.environ.get("PLANEXE_POSTGRES_HOST", "database_postgres") +PGPORT = os.environ.get("PLANEXE_POSTGRES_PORT", "5432") +PGDATABASE = os.environ.get("PLANEXE_POSTGRES_DB", "planexe") +PGUSER = os.environ.get("PLANEXE_POSTGRES_USER", "planexe") +PGPASSWORD = os.environ.get("PLANEXE_POSTGRES_PASSWORD", "planexe") API_KEY = os.environ.get("PLANEXE_DATABASE_WORKER_API_KEY", "") # Railway injects PORT; fall back to PLANEXE_DATABASE_WORKER_PORT for Docker Compose. PORT = int(os.environ.get("PORT") or os.environ.get("PLANEXE_DATABASE_WORKER_PORT", "8002")) diff --git a/docker-compose.yml b/docker-compose.yml index 35196f33..ed773822 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -224,11 +224,11 @@ services: database_postgres: condition: service_healthy environment: - PGHOST: database_postgres - PGPORT: "5432" - PGDATABASE: ${PLANEXE_POSTGRES_DB:-planexe} - PGUSER: ${PLANEXE_POSTGRES_USER:-planexe} - PGPASSWORD: ${PLANEXE_POSTGRES_PASSWORD:-planexe} + PLANEXE_POSTGRES_HOST: database_postgres + PLANEXE_POSTGRES_PORT: "5432" + PLANEXE_POSTGRES_DB: ${PLANEXE_POSTGRES_DB:-planexe} + PLANEXE_POSTGRES_USER: ${PLANEXE_POSTGRES_USER:-planexe} + PLANEXE_POSTGRES_PASSWORD: ${PLANEXE_POSTGRES_PASSWORD:-planexe} PLANEXE_DATABASE_WORKER_API_KEY: ${PLANEXE_DATABASE_WORKER_API_KEY:-} restart: unless-stopped From 93bb0753cf27e32ab16a1170044521cb9bb74d48 Mon Sep 17 00:00:00 2001 From: Simon Strandgaard Date: Sat, 21 Mar 2026 17:32:42 +0100 Subject: [PATCH 2/3] fix: rename PG* python variables to POSTGRES_* in server.py Co-Authored-By: Claude Opus 4.6 (1M context) --- database_worker/server.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/database_worker/server.py b/database_worker/server.py index d69aca26..ea28156e 100644 --- a/database_worker/server.py +++ b/database_worker/server.py @@ -9,11 +9,11 @@ logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s") logger = logging.getLogger(__name__) -PGHOST = os.environ.get("PLANEXE_POSTGRES_HOST", "database_postgres") -PGPORT = os.environ.get("PLANEXE_POSTGRES_PORT", "5432") -PGDATABASE = os.environ.get("PLANEXE_POSTGRES_DB", "planexe") -PGUSER = os.environ.get("PLANEXE_POSTGRES_USER", "planexe") -PGPASSWORD = os.environ.get("PLANEXE_POSTGRES_PASSWORD", "planexe") +POSTGRES_HOST = os.environ.get("PLANEXE_POSTGRES_HOST", "database_postgres") +POSTGRES_PORT = os.environ.get("PLANEXE_POSTGRES_PORT", "5432") +POSTGRES_DB = os.environ.get("PLANEXE_POSTGRES_DB", "planexe") +POSTGRES_USER = os.environ.get("PLANEXE_POSTGRES_USER", "planexe") +POSTGRES_PASSWORD = os.environ.get("PLANEXE_POSTGRES_PASSWORD", "planexe") API_KEY = os.environ.get("PLANEXE_DATABASE_WORKER_API_KEY", "") # Railway injects PORT; fall back to PLANEXE_DATABASE_WORKER_PORT for Docker Compose. PORT = int(os.environ.get("PORT") or os.environ.get("PLANEXE_DATABASE_WORKER_PORT", "8002")) @@ -66,15 +66,15 @@ def do_GET(self): logger.info("Starting database backup: %s (%s)", filename, "zstd" if _HAS_ZSTD else "gzip") env = os.environ.copy() - env["PGPASSWORD"] = PGPASSWORD + env["PGPASSWORD"] = POSTGRES_PASSWORD # pg_dump reads PGPASSWORD from env proc = subprocess.Popen( [ "pg_dump", - "-h", PGHOST, - "-p", PGPORT, - "-U", PGUSER, - "-d", PGDATABASE, + "-h", POSTGRES_HOST, + "-p", POSTGRES_PORT, + "-U", POSTGRES_USER, + "-d", POSTGRES_DB, "--no-owner", "--no-privileges", "-Z", compress_flag, From 4aece1c320dd93a099c37dd7ca41cb02bb7c1a1c Mon Sep 17 00:00:00 2001 From: Simon Strandgaard Date: Sat, 21 Mar 2026 17:33:43 +0100 Subject: [PATCH 3/3] chore: add PlanExe.code-workspace Co-Authored-By: Claude Opus 4.6 (1M context) --- PlanExe.code-workspace | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PlanExe.code-workspace b/PlanExe.code-workspace index a0d2b4d2..9eddbf2d 100644 --- a/PlanExe.code-workspace +++ b/PlanExe.code-workspace @@ -37,6 +37,12 @@ }, { "path": "mcp_local" + }, + { + "path": "database_worker" + }, + { + "path": "llm_config" } ], "settings": {