TravStats
abrechen2/travstats:latest
https://hub.docker.com/r/abrechen2/travstats
bridge
sh
false
https://forums.unraid.net/topic/198320-support-travstats-self-hosted-flight-tracker/
https://github.com/Abrechen2/TravStats
Self-hosted travel logbook for small households and groups (1–10 users). It's a logbook, not a live tracker — you record trips manually, scan a boarding pass, or import an email/PDF; flights now, cruises in v2, hotels and POI on the roadmap. Visualise routes on interactive 2D/3D maps, collect 58 achievements, scan boarding passes (QR/barcode/OCR), import from email and PDF via an optional local Ollama LLM. Includes automated database backups with retention, optional WebDAV off-site sync, and encrypted API-key storage.
**Requirements:**
TravStats needs a PostgreSQL 15 database with the PostGIS extension. Install the companion template **travstats-db** (same repo) first — it is pre-configured with database, user and published port so only the password needs filling in. TravStats reaches the database through the Unraid host via `host.docker.internal:5432`, so no custom Docker network is required — both containers just sit on the default `bridge` and talk through the host.
If you bring your own PostGIS container instead, make sure it joins the same `travstats-net` network and uses:
- Database name: `flights`
- Username: `flights`
- Password: *(strong — generate with `openssl rand -base64 32`)*
- Container name: `travstats-db` (or adjust DATABASE_URL below)
Optional: install the [Ollama Community App](https://unraid.net/community/apps?q=ollama) and pull `gemma3:12b` (~8 GB) for local AI parsing of flight confirmation emails. Point TravStats at it via Admin → Settings → Parser after login (no ENV variable needed).
After first start, open http://[IP]:[PORT:80]/setup — the first-run wizard captures instance name, public URL, user cap and registration mode. Everything else (API keys, backup schedule, WebDAV, Ollama endpoint + model) is configurable from the admin UI later. No ENV editing needed.
The JWT secret and encryption key are auto-generated on first boot and persisted inside the Application Data mount (`/mnt/user/appdata/travstats/secrets/`) — single volume, survives container updates.
**Troubleshooting — setup page shows "Error querying the database":** the `travstats-db` data directory was left with the wrong UID (classic Unraid bind-mount issue). Fix: stop both containers, `rm -rf /mnt/user/appdata/travstats-db/pgdata`, start `travstats-db`, then start TravStats. Full guide is in the travstats-db template Overview.
**Full documentation:** https://github.com/Abrechen2/TravStats
Cloud: Productivity: Tools:Utilities Other:
http://[IP]:[PORT:80]/
https://raw.githubusercontent.com/Abrechen2/docker-templates/main/my-travstats.xml
https://raw.githubusercontent.com/Abrechen2/TravStats/Main/docs/images/logo.svg
--restart=unless-stopped --add-host=host.docker.internal:host-gateway
If TravStats is useful to you
https://www.paypal.com/donate?hosted_button_id=HW9MPYVURCT42
PostgreSQL 15 with PostGIS extension (separate container)
3000
/mnt/user/appdata/travstats
postgresql://flights:CHANGEME@host.docker.internal:5432/flights
UTC