GeoIntel Unraid template
GeoIntel is a multi-container Docker Compose stack:
db: PostGIS 16 / PostGIS 3.4backend: FastAPI/GIS runtimefrontend: nginx-served React app with/apiand/healthproxying to the backend
The normal browser entrypoint is:
http://<unraid-ip>:${GEOINTEL_FRONTEND_PORT}
Files
geointel.env.example: copy this to the repository checkout as.env.geointel-unraid-template.xml: Unraid/DockerMan-style metadata for the editable settings.geointel-icon.svg: icon source for template/app metadata.
The frontend also serves the same icon at:
http://<unraid-ip>:${GEOINTEL_FRONTEND_PORT}/geointel-icon.svg
First setup on Unraid
From the Unraid shell:
cd /mnt/user/appdata
git clone gitea-widefrog:NuklearRabbit/geointel.git geointel
cd /mnt/user/appdata/geointel
cp deploy/unraid/geointel.env.example .env
Edit .env before starting the stack:
nano .env
Common values:
GEOINTEL_FRONTEND_PORT=1202
GEOINTEL_BACKEND_PORT=8000
GEOINTEL_STORAGE_PATH=/mnt/user/appdata/geointel/storage
GEOINTEL_POSTGRES_PASSWORD=change-me-before-shared-use
GEOINTEL_CORS_ORIGINS=http://localhost:1202,http://127.0.0.1:1202,http://192.168.10.150:1202
Start or rebuild:
docker compose config
docker compose up -d --build
Validate:
bash scripts/live_migration_smoke.sh
bash scripts/verify_browser_runtime.sh "http://192.168.10.150:${GEOINTEL_FRONTEND_PORT:-1202}"
Change ports
Change the web UI port:
GEOINTEL_FRONTEND_PORT=1203
If you expose a different web port, also update CORS origins:
GEOINTEL_CORS_ORIGINS=http://localhost:1203,http://127.0.0.1:1203,http://192.168.10.150:1203
Apply:
docker compose up -d --build
The database port is intentionally not published to the LAN. The backend reaches it through the internal Compose service name db.
Update from Gitea
cd /mnt/user/appdata/geointel
git fetch origin main
git reset --hard origin/main
docker compose up -d --build
bash scripts/live_migration_smoke.sh
Cleanup notes
Safe cache cleanup if Docker build cache fills the Unraid Docker image:
docker builder prune -af
Avoid broad volume pruning unless you explicitly intend to remove persisted PostGIS data or GeoIntel artifacts.