Set UPAAS_PORT as well as PORT in docker-compose.yml (closes #230)
Check / check (pull_request) Successful in 5m13s

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
This commit was merged in pull request #233.
This commit is contained in:
2026-09-29 05:26:51 +02:00
parent 884abf8512
commit 0a94484795
3 changed files with 14 additions and 6 deletions
+5 -4
View File
@@ -237,10 +237,11 @@ HOST_DATA_DIR=/srv/upaas/data
``` ```
Other settings from [Configuration](#configuration) go in the same file, except Other settings from [Configuration](#configuration) go in the same file, except
`PORT` and `UPAAS_DATA_DIR`: the compose file sets them to 8080 and `PORT`, `UPAAS_PORT` and `UPAAS_DATA_DIR`: the compose file sets both port
`/var/lib/upaas`, overriding `.env`, to match its port mapping, healthcheck and settings to 8080 and `UPAAS_DATA_DIR` to `/var/lib/upaas`, overriding `.env`, to
data directory mount. Then run `docker compose up -d` from the repo root; match its port mapping, healthcheck and data directory mount. Then run
`docker compose ps` shows the container as healthy once `/health` answers. `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 **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 is bind-mounted into the container and passed as `UPAAS_HOST_DATA_DIR` so that
+5
View File
@@ -20,6 +20,11 @@ regress.
# Completed Steps # 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 - 2026-09-29: The README Configuration table now lists every setting upaas
reads, adding `UPAAS_MAINTENANCE_MODE`, `UPAAS_SESSION_SECRET` and reads, adding `UPAAS_MAINTENANCE_MODE`, `UPAAS_SESSION_SECRET` and
`UPAAS_CORS_ORIGINS`, and gives the real default and effect of each: `UPAAS_CORS_ORIGINS`, and gives the real default and effect of each:
+4 -2
View File
@@ -7,9 +7,11 @@ services:
# Every line of .env is passed to upaas as an environment variable. # Every line of .env is passed to upaas as an environment variable.
env_file: .env env_file: .env
environment: environment:
# Overrides any PORT in .env, so upaas listens where the port mapping # Override any PORT or UPAAS_PORT in .env, so upaas listens where the
# and healthcheck below expect it. # port mapping and healthcheck below expect it. Both are set because
# upaas reads UPAAS_PORT first.
PORT: "8080" PORT: "8080"
UPAAS_PORT: "8080"
# Overrides any UPAAS_DATA_DIR in .env, so the database stays on the # Overrides any UPAAS_DATA_DIR in .env, so the database stays on the
# HOST_DATA_DIR mount below instead of inside the container. # HOST_DATA_DIR mount below instead of inside the container.
UPAAS_DATA_DIR: /var/lib/upaas UPAAS_DATA_DIR: /var/lib/upaas