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

This commit is contained in:
Spendlik 2026-08-11 09:30:57 +00:00
parent 1b571abddd
commit 14ccf22066

View File

@ -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) ## 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 ```bash
pct enter 101 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: Paste:
```nginx ```nginx
@ -262,10 +264,12 @@ server {
Enable and reload: Enable and reload:
```bash ```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 && systemctl reload nginx
``` ```
`nginx -t` should print `syntax is ok` / `test is successful` — confirm that before the reload takes effect.
--- ---
## Phase 7 — SSL Certificate ## Phase 7 — SSL Certificate
@ -279,7 +283,7 @@ certbot --nginx -d collections.spendlik.sk
> ⚠️ Always inspect the config after certbot: > ⚠️ Always inspect the config after certbot:
```bash ```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. 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 | | 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 | | `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 | | `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 |