Gemini Bot 0d0b57adc9
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 25s
Add database schema installer
2025-12-07 17:21:25 +00:00
2025-12-07 17:21:25 +00:00
2025-12-07 17:09:16 +00:00
2025-12-07 17:09:16 +00:00

Cazubu - Pflanzenverwaltung

Cazubu ist eine Webanwendung zur Verwaltung von Pflanzen, Inventar, Samen und Sensoren.

Projektstruktur

Das Projekt ist so aufgebaut, dass der Quellcode vom Deployment-Setup getrennt ist:

  • src/: Enthält den gesamten PHP-Quellcode, Assets und Frontend-Ressourcen.
  • Dockerfile: Definition des Docker-Images.
  • .gitea/workflows: CI/CD-Konfiguration.

Installation & Betrieb

Voraussetzungen

  • Docker Engine
  • Eine laufende MySQL/MariaDB Datenbank

Docker Build & Run

  1. Image bauen:

    docker build -t cazubu .
    
  2. Container starten (Produktiv): Für den produktiven Einsatz sollten Uploads (Bilder) persistent gespeichert werden. Dafür binden wir ein Volume an /var/www/html/uploads.

    docker run -d \
      -p 8080:80 \
      -e DB_SERVER="deine-db-ip" \
      -e DB_USERNAME="cazubu" \
      -e DB_PASSWORD="dein-sicheres-passwort" \
      -e DB_NAME="cazubu" \
      -v cazubu_uploads:/var/www/html/uploads \
      --name cazubu-app \
      --restart unless-stopped \
      cazubu
    

Umgebungsvariablen

Die Anwendung wird über Umgebungsvariablen konfiguriert. Wenn diese nicht gesetzt sind, werden interne Fallbacks (für Entwicklung) genutzt.

Variable Beschreibung Standard (Dev)
DB_SERVER IP oder Hostname des Datenbankservers 172.30.242.130
DB_USERNAME Datenbank-Benutzer cazubu
DB_PASSWORD Datenbank-Passwort (interner Standard)
DB_NAME Name der Datenbank cazubu

Persistente Daten

User-Uploads (Pflanzenbilder) werden im Container unter /var/www/html/uploads gespeichert. Um Datenverlust beim Neustart/Update des Containers zu vermeiden, muss dieses Verzeichnis als Volume gemountet werden (siehe oben).

Entwicklung

Um lokal zu entwickeln, ohne jedes Mal das Image neu zu bauen, kann der src-Ordner direkt in den Container gemountet werden:

docker run -d \
  -p 8080:80 \
  -v $(pwd)/src:/var/www/html \
  --name cazubu-dev \
  cazubu

Changelog

2025-12-07 - Refactoring & Dockerisierung

  • Struktur: Quellcode nach src/ verschoben für saubereres Root-Verzeichnis.
  • Docker: Dockerfile angepasst (kopiert nun src/).
  • Doku: README.md erweitert um detaillierte Deployment-Infos und Volume-Handling.
  • CI/CD: Pipeline für automatischen Build & Push eingerichtet.
Description
No description provided
Readme 8.6 MiB
Languages
PHP 91.6%
CSS 6.3%
Shell 1.4%
Dockerfile 0.7%