From ab0313eba6838bd6662586c175afe349bde5cb40 Mon Sep 17 00:00:00 2001 From: Claudio Date: Sun, 10 May 2026 21:12:32 +0200 Subject: [PATCH] docs(mule-image): record uvicorn --reload removal + 2-worker switch Backend was running --reload single-worker in production. Switched to --workers 2 --proxy-headers. Also note the deploy.sh quirk where a runtime-only command change needed --force-recreate to take effect. Co-Authored-By: Claude Opus 4.7 (1M context) --- containers/120-mule-images.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/containers/120-mule-images.md b/containers/120-mule-images.md index 793ae62..c8dd6c3 100644 --- a/containers/120-mule-images.md +++ b/containers/120-mule-images.md @@ -80,6 +80,13 @@ For pushes from inside the LXC, gitea creds at `/etc/mule-deploy/git-credentials ## Changelog +### 2026-05-10 — backend out of dev mode +`docker-compose.yml` backend `command` was running `uvicorn … --reload` (single worker, file-watcher). Page loads fanned out ~15 parallel API calls that all serialized on one event loop. Switched to `--workers 2 --proxy-headers`. Verified: `docker inspect mulita-backend --format '{{.Config.Cmd}}'` shows the new flags; two uvicorn worker processes visible. + +Gotcha: the `docker compose up -d --build` in `deploy.sh` did not recreate the backend after this commit — only `--build` rebuilds images, and the `command` change is runtime-only. Had to run `docker compose up -d --no-deps --force-recreate backend` manually. Consider adding `--force-recreate` to `deploy.sh` if compose-only changes become common. + +Still on the table for further `photos.hubris.network` perf work: pre-generate `/data/proxies` web-sized webps (currently empty volume → first open of any RAW/HEIC is a sync decode), shrink the 500-photo default page size, and back off `worker-status` / `scan/status` polling when idle. + ### 2026-04-28 — wiki entry created Initial documentation.