travstats-db
OffiziellDocker-Anwendung from Abrechen2's Repository
Übersicht
PostgreSQL 15 with the PostGIS 3.4 spatial extension — the database TravStats expects.
This template is pre-filled with the container name travstats-db and the database/user pair flights/flights so the default DATABASE_URL in the TravStats template matches without further editing. Change the password to a strong value (e.g. openssl rand -base64 32) and reuse it in TravStats.
Install order: this container first, then the TravStats template. The database is published on the Unraid host at port 5432 (adjustable below) so TravStats can reach it via host.docker.internal:5432 without needing a shared Docker network. Keep the port free of conflicts with other PostgreSQL containers you may already run.
Storage: the default Application Data path (/mnt/user/appdata/travstats-db) maps to PostgreSQL's data directory. The actual cluster lives in a pgdata/ subdirectory (see the PGDATA variable below) — this is the officially recommended layout from the postgres Docker image and avoids a well-known Unraid permission issue where chown from inside the container can't reach the FUSE-backed share root.
The initial cluster is created on first start and then kept in place on updates; deleting the pgdata/ subdirectory wipes the database, so point your backup tool at this folder.
Why PostGIS, not plain Postgres? TravStats uses PostGIS for airport and route geometry. Plain postgres:15 fails the first TravStats migration.
Troubleshooting — "FATAL: could not open file global/pg_filenode.map: Permission denied"
If you see this error in the container log and TravStats shows "Error querying the database" on its setup page, your pgdata/ directory was created under the wrong UID by a previous (broken) install. Fix:
- Stop both containers (
TravStats,travstats-db). - On the Unraid console:
rm -rf /mnt/user/appdata/travstats-db/pgdata(or whichever Application Data path you chose). - Start
travstats-db— it now re-runsinitdbwith the correct UID (999, the Postgres user inside the image). - Start
TravStats— setup page should load without errors.
If the fresh start still fails on /mnt/user/..., switch the Application Data path to /mnt/cache/appdata/travstats-db (direct cache-pool mount, bypasses Unraid's FUSE layer) and repeat step 3. Requires a cache pool to be configured.
Anforderungen
Laufzeit-Argumente
- Netzwerk
bridge- Shell
sh- Privilegiert
- false
- Extra Params
--restart=unless-stopped
Konfiguration der Vorlage
Parent directory for the PostgreSQL data. The actual cluster is created as a `pgdata/` subfolder here (see PGDATA). One persistent mount, survives container updates. Back this path up with your regular appdata backup.
- Ziel
- /var/lib/postgresql/data
- Standard
- /mnt/user/appdata/travstats-db
- Wert
- /mnt/user/appdata/travstats-db
Actual PostgreSQL data subdirectory inside the Application Data mount. Using a subfolder (instead of the bind-mount root) is the official postgres-image recommendation and avoids a common Unraid FUSE permission issue. Do not change unless you know what you're doing.
- Standard
- /var/lib/postgresql/data/pgdata
- Wert
- /var/lib/postgresql/data/pgdata
Database name. TravStats default expects 'flights'.
- Standard
- flights
- Wert
- flights
Database user. TravStats default expects 'flights'.
- Standard
- flights
- Wert
- flights
Database password. Generate a strong one with `openssl rand -base64 32`, then paste the same value into the TravStats DATABASE_URL field.
- Standard
- CHANGEME
- Wert
- CHANGEME
Port on the Unraid host that PostgreSQL listens on. TravStats connects through host.docker.internal:this port. Change only if 5432 is already in use by another Postgres.
- Ziel
- 5432
- Standard
- 5432
- Wert
- 5432
Container timezone. Keep UTC.
- Standard
- UTC
- Wert
- UTC
Kategorien
Statistik herunterladen
Einzelheiten
postgis/postgis:15-3.4Führen Sie travstats-db auf Unraid aus.
travstats-db ist gelistet in Community Apps für Unraid OS. Erkunden Sie Unraid, um einen flexiblen Heimserver, ein NAS oder ein Heimlabor aufzubauen.