Files
tickettracker/docs/docker-release.md
T

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

  1. Beispiel-Env kopieren:
cp .env.docker-external.example .env.docker-external
  1. .env.docker-external anpassen:
DATABASE_URL=postgresql://tickettracker:PASSWORT@10.10.10.23:5432/tickettracker
TICKETTRACKER_IMAGE=git.d-razz.de/michael/tickettracker:latest
APP_PORT=3910
  1. Stack starten:
docker compose --env-file .env.docker-external -f compose.yml up -d

Variante B: PostgreSQL 17 im Stack

  1. Beispiel-Env kopieren:
cp .env.docker-postgres.example .env.docker-postgres
  1. .env.docker-postgres anpassen:
POSTGRES_PASSWORD=ein-sicheres-db-passwort
TICKETTRACKER_IMAGE=git.d-razz.de/michael/tickettracker:latest
APP_PORT=3910
  1. 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:

  1. In Gitea als michael anmelden.
  2. Oben rechts + -> Neues Repository.
  3. Repository-Name: tickettracker.
  4. Repository leer erstellen, also ohne README, .gitignore oder Lizenz.
  5. 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:

  1. In Portainer oder Docker-Management Stack aus Git wählen.
  2. Repository URL eintragen:
git@git.d-razz.de:michael/tickettracker.git

oder per HTTPS:

https://git.d-razz.de/michael/tickettracker.git
  1. Compose-Datei wählen:
compose.yml

für externe DB, oder:

compose.postgres.yml

für PostgreSQL 17 im Stack.

  1. Environment-Variablen aus .env.docker-external.example oder .env.docker-postgres.example im Stack hinterlegen.