From 157846d28523c8df6573635ffca64cefb93d5207 Mon Sep 17 00:00:00 2001 From: clawbot <35+clawbot@noreply.example.org> Date: Tue, 29 Sep 2026 02:57:38 +0000 Subject: [PATCH] Set UPAAS_PORT as well as PORT in docker-compose.yml (closes #230) upaas reads UPAAS_PORT before PORT, so a UPAAS_PORT line in .env made it listen on another port than the one the compose file's port mapping and healthcheck use, and the container never became healthy. The compose file now sets both to 8080, and its comment and the README's Docker Compose section say that both are set. Model: opus-5-5 --- README.md | 9 +++++---- TODO.md | 5 +++++ docker-compose.yml | 6 ++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6734c6e..c7bce0f 100644 --- a/README.md +++ b/README.md @@ -237,10 +237,11 @@ HOST_DATA_DIR=/srv/upaas/data ``` Other settings from [Configuration](#configuration) go in the same file, except -`PORT` and `UPAAS_DATA_DIR`: the compose file sets them to 8080 and -`/var/lib/upaas`, overriding `.env`, to match its port mapping, healthcheck and -data directory mount. Then run `docker compose up -d` from the repo root; -`docker compose ps` shows the container as healthy once `/health` answers. +`PORT`, `UPAAS_PORT` and `UPAAS_DATA_DIR`: the compose file sets both port +settings to 8080 and `UPAAS_DATA_DIR` to `/var/lib/upaas`, overriding `.env`, to +match its port mapping, healthcheck and data directory mount. Then run +`docker compose up -d` from the repo root; `docker compose ps` shows the +container as healthy once `/health` answers. **Important**: `HOST_DATA_DIR` **must** be an **absolute path** on the host. It is bind-mounted into the container and passed as `UPAAS_HOST_DATA_DIR` so that diff --git a/TODO.md b/TODO.md index da459cb..ff43640 100644 --- a/TODO.md +++ b/TODO.md @@ -20,6 +20,11 @@ regress. # Completed Steps +- 2026-09-29: `docker-compose.yml` now sets `UPAAS_PORT` to 8080 as well as + `PORT`, since upaas reads `UPAAS_PORT` first and a `UPAAS_PORT` in `.env` made + it listen away from the port mapping and healthcheck; the README's Compose + section names both (#230). + - 2026-09-29: The README Configuration table now lists every setting upaas reads, adding `UPAAS_MAINTENANCE_MODE`, `UPAAS_SESSION_SECRET` and `UPAAS_CORS_ORIGINS`, and gives the real default and effect of each: diff --git a/docker-compose.yml b/docker-compose.yml index 51a31cf..f33a2b6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,9 +7,11 @@ services: # Every line of .env is passed to upaas as an environment variable. env_file: .env environment: - # Overrides any PORT in .env, so upaas listens where the port mapping - # and healthcheck below expect it. + # Override any PORT or UPAAS_PORT in .env, so upaas listens where the + # port mapping and healthcheck below expect it. Both are set because + # upaas reads UPAAS_PORT first. PORT: "8080" + UPAAS_PORT: "8080" # Overrides any UPAAS_DATA_DIR in .env, so the database stays on the # HOST_DATA_DIR mount below instead of inside the container. UPAAS_DATA_DIR: /var/lib/upaas