# Lichterei Web – Kirby Projekt

Dieses Repository bündelt die Kirby-Installation sowie die Docker-Infrastruktur, damit du das Projekt lokal ausprobieren und im Server-Setup mit Traefik deployen kannst.

## Voraussetzungen
- Docker Engine ≥ 20.10 und `docker compose`
- Optional: Composer, falls du Abhängigkeiten aktualisieren möchtest
- Passe vor dem ersten Start den Wert `USERID` in `id.env` an deinen lokalen Benutzer an – so vermeidest du Rechteprobleme beim Schreiben ins gemountete Volume.

## Lokale Ausführung
1. `USERID` in `id.env` prüfen/anpassen (`id -u` liefert deinen Wert).
2. Container starten:
   ```bash
   docker compose up --build
   ```
3. Die Seite ist anschließend unter http://localhost:8080 erreichbar, das Kirby Panel unter http://localhost:8080/panel.

Mit `docker compose down` stoppst du die Umgebung wieder. Inhalte bleiben erhalten, da der Projektordner als Volume eingebunden ist.

## Deployment mit Traefik
1. Domain, Router- und Zertifikatsnamen in `docker-compose.traefik.yml` anpassen.
2. Sicherstellen, dass das externe Netzwerk `proxy` existiert (`docker network create proxy`).
3. Deployment starten:
   ```bash
   docker compose \
     -f docker-compose.yml \
     -f docker-compose.traefik.yml \
     up -d
   ```
   Passe bei Bedarf den Volume-Eintrag in `docker-compose.yml` an (z. B. benanntes Volume oder separater Persistenzpfad).
4. Für den Registry-Workflow steht `scripts/publish-image.sh` bereit. Das Skript baut das Image aus dem aktuellen Stand und pusht es zum konfigurierten Registry-Host.

## Nutzung eines Registry-Images
- Setze vor dem Start die Umgebungsvariable `KIRBY_IMAGE` auf das exakte Image samt Tag oder Digest, z. B.:
  ```bash
  export KIRBY_IMAGE=gitea.mindboost.team/interkollektives/lichterei-web:0.0.1
  ```
  Mit `docker image ls gitea.mindboost.team/interkollektives/lichterei-web` siehst du, welche Tags lokal vorhanden sind. Fehlt der gewünschte Tag, kannst du ihn vergeben: `docker tag <IMAGE_ID> gitea.mindboost.team/...:<tag>`.
- Container aus Registry starten:
  ```bash
  docker compose -f docker-compose.registry.yml up -d
  ```
  `--build` wird hier nicht benötigt, da keine lokale Build-Definition verwendet wird.
- Falls du das Image aktualisierst, entferne das benannte Volume vorher (`docker compose down -v`), damit die neuen Dateien aus dem Image erneut in `/var/www/html` kopiert werden.
- Kombination mit Traefik ist ebenfalls möglich:
  ```bash
  docker compose -f docker-compose.registry.yml -f docker-compose.traefik.yml up -d
  ```

## Contribution Guidelines
- Forken oder Branch erstellen, bevor du Änderungen beginnst.
- Lokal mit `docker compose up` arbeiten oder – falls du ohne Container entwickeln willst – `composer install` ausführen.
- Bitte prüfe, ob deine Änderungen im Frontend sichtbar funktionieren und keine PHP-Fehler im Log landen.
- Pull Request eröffnen und kurz beschreiben, was angepasst wurde und wie getestet wurde.

Vielen Dank fürs Mitmachen! Bei Fragen melde dich einfach per Issue oder direkt im Team-Chat.
