3.3 KiB
Docker Release
TicketTracker kann mit einer externen PostgreSQL-17-Datenbank oder mit PostgreSQL 17 im gleichen Docker-Stack laufen.
Variante A: Externe PostgreSQL-Datenbank
- Beispiel-Env kopieren:
cp .env.docker-external.example .env.docker-external
.env.docker-externalanpassen:
DATABASE_URL=postgresql://tickettracker:PASSWORT@10.10.10.23:5432/tickettracker
TICKETTRACKER_IMAGE=git.d-razz.de/michael/tickettracker:latest
APP_PORT=3910
- Stack starten:
docker compose --env-file .env.docker-external -f compose.yml up -d
Variante B: PostgreSQL 17 im Stack
- Beispiel-Env kopieren:
cp .env.docker-postgres.example .env.docker-postgres
.env.docker-postgresanpassen:
POSTGRES_PASSWORD=ein-sicheres-db-passwort
TICKETTRACKER_IMAGE=git.d-razz.de/michael/tickettracker:latest
APP_PORT=3910
- Stack starten:
docker compose --env-file .env.docker-postgres -f compose.postgres.yml up -d
Die Datenbankdaten liegen im Docker-Volume tickettracker_postgres_data.
Erstes Setup
Admin-Zugangsdaten werden nicht per .env gesetzt. Nach dem ersten Start oeffnest du TicketTracker im Browser und landest automatisch auf der Setup-Seite.
Dort gibt es zwei Wege:
Admin anlegen: festen Admin direkt erstellen und anmelden.Backup einspielen: ein TicketTracker-SQL-Backup hochladen, Struktur pruefen und danach einspielen. Danach meldest du dich mit einem Benutzer aus dem Backup an.
Ein Restore ersetzt den kompletten Systemstand. Vor dem Einspielen wird geprueft, ob Dump-Struktur und aktuelle Datenbankstruktur zusammenpassen. Danach werden alle TicketTracker-Tabellen geleert; anschliessend gelten ausschliesslich Benutzer, Passwoerter, Sessions, Settings, Organisationen, fixe Abrechnungen und Abschluesse aus dem Backup.
Image bauen und in Gitea pushen
Einmal am Docker/Gitea-Registry anmelden:
docker login git.d-razz.de
Dann Image bauen und pushen:
chmod +x scripts/build-and-push-gitea.sh
./scripts/build-and-push-gitea.sh
Standard-Image:
git.d-razz.de/michael/tickettracker:latest
Gitea Repository erstellen
Da aktuell noch kein Repository auf git.d-razz.de existiert:
- In Gitea als
michaelanmelden. - Oben rechts
+->Neues Repository. - Repository-Name:
tickettracker. - Repository leer erstellen, also ohne README,
.gitignoreoder Lizenz. - SSH-Key in Gitea hinterlegen, falls noch nicht vorhanden.
Danach lokal:
chmod +x scripts/init-gitea-repo.sh
./scripts/init-gitea-repo.sh
git branch -M main
git push -u origin main
Falls du HTTPS statt SSH verwenden willst:
REMOTE_URL=https://git.d-razz.de/michael/tickettracker.git ./scripts/init-gitea-repo.sh
git branch -M main
git push -u origin main
Docker-Server / Portainer Stack
Wenn der Docker-Server direkt aus Git deployen soll:
- In Portainer oder Docker-Management
Stack aus Gitwählen. - Repository URL eintragen:
git@git.d-razz.de:michael/tickettracker.git
oder per HTTPS:
https://git.d-razz.de/michael/tickettracker.git
- Compose-Datei wählen:
compose.yml
für externe DB, oder:
compose.postgres.yml
für PostgreSQL 17 im Stack.
- Environment-Variablen aus
.env.docker-external.exampleoder.env.docker-postgres.exampleim Stack hinterlegen.