Feature Complete: Modern Glass UI, Sensor History, Seed Genetics & Cleanup
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 28s
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 28s
This commit is contained in:
133
README.md
133
README.md
@@ -1,73 +1,98 @@
|
||||
# Cazubu - Pflanzenverwaltung
|
||||
# Cazubu - Dein Cannabis Zucht Buddy 🌱
|
||||
|
||||
Cazubu ist eine Webanwendung zur Verwaltung von Pflanzen, Inventar, Samen und Sensoren.
|
||||
Cazubu ist eine moderne Webanwendung zur Verwaltung und Überwachung deiner Cannabis-Zucht ("Homegrow"). Sie hilft dir, den Überblick über Pflanzen, Inventar, Samen und Umweltbedingungen zu behalten.
|
||||
|
||||
## 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
|
||||
## Funktionen 🚀
|
||||
|
||||
### 1. Pflanzenverwaltung 🌿
|
||||
* **Lebenszyklus:** Dokumentiere jeden Schritt vom Keimen bis zur Ernte.
|
||||
* **Details:** Erfasse Sorte, Standort (Zone/Zelt), Phase (Wachstum/Blüte) und Alter.
|
||||
* **Bildergalerie:** Lade Fotos deiner Pflanzen hoch, um die Entwicklung festzuhalten.
|
||||
* **Aktivitäten-Log:** Protokolliere Gießen, Düngen, Umtopfen oder Beschneiden.
|
||||
* **Messungen:** Erfasse regelmäßig die Höhe deiner Pflanzen.
|
||||
|
||||
### 2. Sensor-Überwachung 🌡️
|
||||
* **Live-Daten:** Visualisierung von Temperatur und Luftfeuchtigkeit.
|
||||
* **Historie:** Interaktive Graphen für 24h, 7 Tage oder 30 Tage.
|
||||
* **API-Schnittstelle:** Einfache Integration von ESP32/Arduino Sensoren.
|
||||
|
||||
### 3. Inventar & Samenbank 📦
|
||||
* **Zonen:** Definiere deine Anbaubereiche (z.B. "Zelt 1", "Outdoor").
|
||||
* **Gefäße:** Verwalte deine Töpfe und deren Größen.
|
||||
* **Samen:** Behalte den Überblick über deine Genetik-Sammlung (Sativa/Indica Anteil, Autoflower, Anzahl).
|
||||
|
||||
### 4. Dashboard 📊
|
||||
* Schneller Überblick über offene Aufgaben und Bestände.
|
||||
* Direkteinstieg in die wichtigsten Bereiche.
|
||||
|
||||
---
|
||||
|
||||
## Installation 🛠️
|
||||
|
||||
### Voraussetzungen
|
||||
- Docker Engine
|
||||
- Eine laufende MySQL/MariaDB Datenbank
|
||||
* Docker & Docker Compose
|
||||
* Alternativ: Webserver mit PHP 8.2+ und MySQL/MariaDB
|
||||
|
||||
### Docker Build & Run
|
||||
### Docker Quickstart
|
||||
|
||||
1. **Image bauen:**
|
||||
```bash
|
||||
docker build -t cazubu .
|
||||
```
|
||||
1. **Repository klonen:**
|
||||
```bash
|
||||
git clone https://git.klenzel.net/admin/cazubu.git
|
||||
cd 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`.
|
||||
2. **Container starten:**
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
*Die App ist nun unter `http://localhost:8090` erreichbar.*
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
3. **Standard-Login:**
|
||||
* Benutzer: `testnutzer`
|
||||
* Passwort: `Start123!`
|
||||
|
||||
### Umgebungsvariablen
|
||||
### Manuelle Installation (ohne Docker)
|
||||
1. Kopiere den Inhalt von `src/` in dein Webroot.
|
||||
2. Importiere `src/database/install.sql` in deine Datenbank.
|
||||
3. Passe `src/includes/db_connect.php` oder die Umgebungsvariablen an.
|
||||
|
||||
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` |
|
||||
## Bedienungsanleitung 📖
|
||||
|
||||
### 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).
|
||||
### Erste Schritte
|
||||
1. **Inventar anlegen:** Gehe zu "Inventar" und erstelle mindestens eine **Zone** (z.B. "Growbox") und ein **Pflanzgefäß** (z.B. "11L Topf").
|
||||
2. **Samen erfassen:** Trage deine Samen unter "Samen" ein.
|
||||
3. **Pflanze starten:** Klicke auf dem Dashboard oder unter "Pflanzen" auf "+ Neue Pflanze". Wähle Samen, Zone und Topf aus.
|
||||
|
||||
## Entwicklung
|
||||
### Sensoren verbinden
|
||||
Jeder Benutzer hat einen eigenen API-Key (siehe "Profil").
|
||||
Sende Sensordaten per HTTP GET Request an:
|
||||
|
||||
Um lokal zu entwickeln, ohne jedes Mal das Image neu zu bauen, kann der `src`-Ordner direkt in den Container gemountet werden:
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
-p 8080:80 \
|
||||
-v $(pwd)/src:/var/www/html \
|
||||
--name cazubu-dev \
|
||||
cazubu
|
||||
```
|
||||
http://DEINE-IP/api.php?apikey=DEIN_KEY&pflanze=PFLANZEN_ID&sensor=temp&wert=24.5
|
||||
http://DEINE-IP/api.php?apikey=DEIN_KEY&pflanze=PFLANZEN_ID&sensor=humidity&wert=60
|
||||
```
|
||||
*Die `PFLANZEN_ID` findest du in der Detailansicht der Pflanze.*
|
||||
|
||||
---
|
||||
|
||||
## Tech Stack 💻
|
||||
* **Frontend:** Bootstrap 5.3, Chart.js, jQuery
|
||||
* **Backend:** PHP 8.2 (Native)
|
||||
* **Datenbank:** MySQL / MariaDB
|
||||
* **Design:** Custom "Organic Light Glass" Theme (CSS Variables, Backdrop Filter)
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
**v18.3.0** (Aktuell)
|
||||
* Redesign: Modernes "Light Glass" UI.
|
||||
* Feature: Sensor-Historie mit Zeitfilter (24h/7d/30d).
|
||||
* Verbesserung: Erweiterte Samen-Datenbank mit Genetik-Anzeige.
|
||||
* Fix: Diverse Bugfixes in Tabellen und DataTables.
|
||||
|
||||
### 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.
|
||||
**v1.0.0**
|
||||
* Initiale Dockerisierung und Grundfunktionen.
|
||||
|
||||
Reference in New Issue
Block a user