# 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 gitea.mindboost.team/...:`. - 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.