133 lines
2.6 KiB
Markdown
133 lines
2.6 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
cp .env.docker-external.example .env.docker-external
|
|
```
|
|
|
|
2. `.env.docker-external` anpassen:
|
|
|
|
```bash
|
|
DATABASE_URL=postgresql://tickettracker:PASSWORT@10.10.10.23:5432/tickettracker
|
|
ADMIN_PASSWORD=ein-sicheres-passwort
|
|
TICKETTRACKER_IMAGE=git.d-razz.de/michael/tickettracker:latest
|
|
APP_PORT=3910
|
|
```
|
|
|
|
3. Stack starten:
|
|
|
|
```bash
|
|
docker compose --env-file .env.docker-external -f compose.yml up -d
|
|
```
|
|
|
|
## Variante B: PostgreSQL 17 im Stack
|
|
|
|
1. Beispiel-Env kopieren:
|
|
|
|
```bash
|
|
cp .env.docker-postgres.example .env.docker-postgres
|
|
```
|
|
|
|
2. `.env.docker-postgres` anpassen:
|
|
|
|
```bash
|
|
POSTGRES_PASSWORD=ein-sicheres-db-passwort
|
|
ADMIN_PASSWORD=ein-sicheres-admin-passwort
|
|
TICKETTRACKER_IMAGE=git.d-razz.de/michael/tickettracker:latest
|
|
APP_PORT=3910
|
|
```
|
|
|
|
3. Stack starten:
|
|
|
|
```bash
|
|
docker compose --env-file .env.docker-postgres -f compose.postgres.yml up -d
|
|
```
|
|
|
|
Die Datenbankdaten liegen im Docker-Volume `tickettracker_postgres_data`.
|
|
|
|
## Image bauen und in Gitea pushen
|
|
|
|
Einmal am Docker/Gitea-Registry anmelden:
|
|
|
|
```bash
|
|
docker login git.d-razz.de
|
|
```
|
|
|
|
Dann Image bauen und pushen:
|
|
|
|
```bash
|
|
chmod +x scripts/build-and-push-gitea.sh
|
|
./scripts/build-and-push-gitea.sh
|
|
```
|
|
|
|
Standard-Image:
|
|
|
|
```text
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```text
|
|
git@git.d-razz.de:michael/tickettracker.git
|
|
```
|
|
|
|
oder per HTTPS:
|
|
|
|
```text
|
|
https://git.d-razz.de/michael/tickettracker.git
|
|
```
|
|
|
|
3. Compose-Datei wählen:
|
|
|
|
```text
|
|
compose.yml
|
|
```
|
|
|
|
für externe DB, oder:
|
|
|
|
```text
|
|
compose.postgres.yml
|
|
```
|
|
|
|
für PostgreSQL 17 im Stack.
|
|
|
|
4. Environment-Variablen aus `.env.docker-external.example` oder `.env.docker-postgres.example` im Stack hinterlegen.
|