From 5791d3372085be8ed17aa8c86122425fb8090adc Mon Sep 17 00:00:00 2001 From: clawbot Date: Mon, 23 Feb 2026 13:17:21 -0800 Subject: [PATCH] =?UTF-8?q?docs:=20expand=20Important=20note=20=E2=80=94?= =?UTF-8?q?=20HOST=5FDATA=5FDIR=20must=20be=20absolute=20path?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Explain why relative paths break container builds and add usage example. Addresses sneak's review feedback on PR #126. --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0e73e52..8e86720 100644 --- a/README.md +++ b/README.md @@ -199,8 +199,12 @@ services: # - METRICS_PASSWORD=secret ``` -**Important**: When running µPaaS inside a container, set `UPAAS_HOST_DATA_DIR` to the host path -that maps to `UPAAS_DATA_DIR`. This is required for Docker bind mounts during builds to work correctly. +**Important**: You **must** set `HOST_DATA_DIR` to an **absolute path** on the host before running +`docker compose up`. This value is bind-mounted into the container and passed as `UPAAS_HOST_DATA_DIR` +so that Docker bind mounts during builds resolve correctly. Relative paths (e.g. `./data`) will break +container builds because the Docker daemon resolves paths relative to the host, not the container. + +Example: `HOST_DATA_DIR=/srv/upaas/data docker compose up -d` Session secrets are automatically generated on first startup and persisted to `$UPAAS_DATA_DIR/session.key`.