Document all-in-one Tower verification
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-17 04:59:52 +02:00
parent 978e02d6cc
commit b9dc2aab42
2 changed files with 31 additions and 1 deletions
+3 -1
View File
@@ -10,11 +10,13 @@
## Sprint 32 Unraid all-in-one runtime (2026-06-17)
- Added `docker-compose.unraid.yml` for a single `geointel` container on Unraid.
- Added `deploy/unraid/Dockerfile.all-in-one`, embedding PostGIS, FastAPI, nginx and the built React frontend in one image.
- Added `deploy/unraid/Dockerfile.all-in-one`, embedding PostgreSQL 16/PostGIS, FastAPI, nginx and the built React frontend in one image.
- Added `deploy/unraid/all-in-one-start.sh` to start embedded PostGIS, apply Alembic migrations, start the backend and serve nginx.
- Added `deploy/unraid/nginx-all-in-one.conf` with localhost backend proxying inside the same container.
- Updated Tower deploy scripts to stop the old multi-container stack without removing volumes and start the all-in-one stack.
- Updated the Unraid template so the Docker can be edited from Unraid with one web port, storage path, PostGIS data path and app icon.
- Hardened live migration and browser runtime smoke scripts with startup retries and an icon check.
- Verified Tower deployment at `http://192.168.10.150:1202` with one healthy `geointel` container, passing live migration smoke, API proxy smoke and icon smoke.
- No API contracts, migrations, product features, provider fetching or AI behavior were introduced.
## Sprint 31 Unraid deployment template (2026-06-17)
+28
View File
@@ -1476,3 +1476,31 @@ Limitations:
Next recommended pass:
- Rebuild Docker on the Tower host and run `bash scripts/verify_demo_export_workflow.sh http://192.168.10.150:1202`.
## Sprint 32 Unraid all-in-one runtime verification (2026-06-17)
Changed:
- Converted the Unraid/Tower runtime to a single editable `geointel` Docker container via `docker-compose.unraid.yml`.
- Built the all-in-one image from `postgres:16-bookworm` with PostgreSQL 16/PostGIS packages, the FastAPI backend, nginx and the React frontend.
- Removed the default nginx site from the image so `/api/v1/*` is proxied to the embedded backend instead of returning nginx 404s.
- Hardened live migration smoke and browser runtime verification with startup retries.
- Browser runtime verification now checks the frontend, `/api/v1/projects` canonical JSON envelope and `/geointel-icon.svg`.
Tested:
- `python -m pytest backend\tests\test_sprint31_unraid_template.py`
- `bash -n deploy/unraid/all-in-one-start.sh`
- `bash -n scripts/live_migration_smoke.sh`
- `bash -n scripts/verify_browser_runtime.sh`
- `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\deploy_tower.ps1`
- `docker compose -f docker-compose.unraid.yml ps` on Tower
- `bash scripts/verify_browser_runtime.sh http://192.168.10.150:1202`
Verified runtime:
- Tower runs one GeoIntel app container: `geointel`.
- Published browser port is `0.0.0.0:1202->80/tcp`.
- Container health is `healthy`.
- Live migration smoke passed with PostGIS available and one Alembic head.
- Frontend, API proxy and icon are reachable at `http://192.168.10.150:1202`.
Open:
- Existing reused PostgreSQL volume logs a collation version mismatch because the old database was created on Debian glibc 2.31 and the all-in-one runtime uses glibc 2.36. Runtime and migrations pass; a future maintenance pass can rebuild/refresh collation metadata if needed.