From 14ccf22066f1e4b9113ee8b6b02ca4be4974cce9 Mon Sep 17 00:00:00 2001 From: Spendlik Date: Tue, 11 Aug 2026 09:30:57 +0000 Subject: [PATCH] Fix Phase 6 nginx vhost filename to match live naming convention (full domain, verified against CT 101); note CT 114 vs CT 101 confusion as a gotcha --- 114_koillection_deployment.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/114_koillection_deployment.md b/114_koillection_deployment.md index 93498e1..f0e4e1e 100644 --- a/114_koillection_deployment.md +++ b/114_koillection_deployment.md @@ -232,13 +232,15 @@ Expect both containers `healthy`, and the curl to show `HTTP/1.1 302 Found` with ## Phase 6 — nginx Reverse Proxy (CT 101) -Enter CT 101: +Enter CT 101 — this must be done **on CT 101**, not CT 114. nginx does not and should not exist on CT 114 itself. ```bash pct enter 101 -nano /etc/nginx/sites-available/koillection +nano /etc/nginx/sites-available/collections.spendlik.sk ``` +> ✅ Verified 2026-08-11 against live `ls /etc/nginx/sites-available/` on CT 101 — every existing vhost is named by full domain (`paperless.spendlik.sk`, `jellyfin.spendlik.sk`, `vault.spendlik.sk`, etc.), not by short service name. Use `collections.spendlik.sk` as the filename here, not `koillection`. + Paste: ```nginx @@ -262,10 +264,12 @@ server { Enable and reload: ```bash -ln -s /etc/nginx/sites-available/koillection /etc/nginx/sites-enabled/ +ln -s /etc/nginx/sites-available/collections.spendlik.sk /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx ``` +`nginx -t` should print `syntax is ok` / `test is successful` — confirm that before the reload takes effect. + --- ## Phase 7 — SSL Certificate @@ -279,7 +283,7 @@ certbot --nginx -d collections.spendlik.sk > ⚠️ Always inspect the config after certbot: ```bash -cat /etc/nginx/sites-available/koillection +cat /etc/nginx/sites-available/collections.spendlik.sk ``` Check for duplicate `server_name` directives and missing closing braces. Fix manually if needed. @@ -441,3 +445,5 @@ mkdir -p /opt/koillection/backups | Wrong NAS host mount path | Storage ID is `spendlik-nas`, mounted at `/mnt/pve/spendlik-nas` — verify with `ls /mnt/pve/` before trusting any guide's hardcoded path | | `curl \| grep koillection` shows nothing | Not a failure — the app root just 302-redirects to `/first-connection`, whose HTML doesn't contain the word "koillection". Use `docker compose ps` (expect `healthy`) and `curl -sv` (expect `302` + `Location: /first-connection`) instead | | `deprecation.INFO` API Platform log spam on startup | Harmless upstream framework warnings (duplicate `#[ApiResource]` shortName), not errors — ignore | +| `nginx: command not found` when following Phase 6 | You're inside CT 114 (koillection), not CT 101 (reverse-proxy). Check the shell prompt — nginx work always happens on CT 101, never on the app container itself | +| Wrong nginx vhost filename | Use the full domain as the filename (`collections.spendlik.sk`), matching every other vhost on CT 101 — not the short service name |