Mark Phase 5 (app deploy) complete for CT 114 — app confirmed healthy via docker compose ps + curl -sv, fixed misleading verify command, documented deprecation log spam and chown-NFS as known-harmless
This commit is contained in:
parent
fc7b053a68
commit
1b571abddd
@ -1,6 +1,6 @@
|
||||
# 114 — Koillection Deployment Guide
|
||||
|
||||
> Status: **IN PROGRESS** — CT created 2026-08-11, base setup + Docker + NAS mount done, app deploy pending (Phase 5+)
|
||||
> Status: **IN PROGRESS** — CT created 2026-08-11, app stack deployed and running, nginx/SSL/DNS/Authelia pending (Phase 6+)
|
||||
> CT ID: 114 · IP: 192.168.1.114
|
||||
> Domain: `collections.spendlik.sk`
|
||||
> Last updated: 2026-08-11
|
||||
@ -18,7 +18,7 @@ Koillection is a self-hosted collection manager for tracking physical collection
|
||||
- 📚 Comics (title, issue, publisher, language, condition)
|
||||
- 📄 Paper Models (designer, scale, subject, format — physical printed copies)
|
||||
|
||||
Stack: `koillection/koillection` (PHP/Symfony + Vue.js) + PostgreSQL 16. Uploads (item photos) bind-mounted to NAS for data safety.
|
||||
Stack: `koillection/koillection` (PHP/Symfony + Vue.js, served via FrankenPHP/Caddy) + PostgreSQL 16. Uploads (item photos) bind-mounted to NAS for data safety.
|
||||
|
||||
---
|
||||
|
||||
@ -142,7 +142,7 @@ Confirmed: `/uploads` mounted, `777 nobody:nogroup`, empty — ready for the app
|
||||
|
||||
---
|
||||
|
||||
## Phase 5 — Deploy Koillection
|
||||
## Phase 5 — Deploy Koillection ✅ DONE (2026-08-11)
|
||||
|
||||
```bash
|
||||
mkdir -p /opt/koillection
|
||||
@ -217,12 +217,17 @@ docker compose up -d
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
Wait until the koillection container logs settle (Symfony app startup). Then verify locally:
|
||||
Wait until the koillection container logs settle (Symfony/FrankenPHP startup — you'll see deprecation.INFO notices about API Platform `#[ApiResource]` shortName deduplication; these are harmless upstream framework warnings on this image version, not errors). Then verify with a proper status check, **not** a text grep against the homepage (the homepage is just a redirect, so grepping for "koillection" in it will always come back empty and looks like a false failure):
|
||||
|
||||
```bash
|
||||
curl -s http://localhost:8080 | grep -i koillection
|
||||
docker compose ps
|
||||
curl -sv http://localhost:8080
|
||||
```
|
||||
|
||||
Expect both containers `healthy`, and the curl to show `HTTP/1.1 302 Found` with `Location: /first-connection` — that's Koillection's normal first-run redirect, confirming the app is up and reachable.
|
||||
|
||||
> ℹ️ `chown: Invalid argument` lines for `/uploads` in the startup logs are expected and harmless — same NAS-bind-mount ownership limitation already known from Paperless. Doesn't affect functionality.
|
||||
|
||||
---
|
||||
|
||||
## Phase 6 — nginx Reverse Proxy (CT 101)
|
||||
@ -434,3 +439,5 @@ mkdir -p /opt/koillection/backups
|
||||
| DNS record type | Use CNAME → `spendlik.sk`, never a per-subdomain A record (see Phase 8) |
|
||||
| Wrong template filename | Verify exact template string with `pveam list local` before `pct create` — versions bump periodically |
|
||||
| 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 |
|
||||
|
||||
Loading…
Reference in New Issue
Block a user