Fix: Remove tracked user uploads from git and update .gitignore. Refine README.
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 18s
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 18s
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,3 +4,5 @@ vendor/
|
|||||||
*.log
|
*.log
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
src/uploads/*
|
||||||
|
!src/uploads/.gitkeep
|
||||||
128
README.md
128
README.md
@@ -6,93 +6,71 @@ Cazubu ist eine moderne Webanwendung zur Verwaltung und Überwachung deiner Cann
|
|||||||
|
|
||||||
## Funktionen 🚀
|
## Funktionen 🚀
|
||||||
|
|
||||||
### 1. Pflanzenverwaltung 🌿
|
* **Pflanzenverwaltung:** Lebenszyklus, Details, Bildergalerie, Aktivitäten-Log.
|
||||||
* **Lebenszyklus:** Dokumentiere jeden Schritt vom Keimen bis zur Ernte.
|
* **Sensor-Überwachung:** Live-Daten (Temp/Feuchte) & Historie (24h/7d/30d).
|
||||||
* **Details:** Erfasse Sorte, Standort (Zone/Zelt), Phase (Wachstum/Blüte) und Alter.
|
* **Inventar & Samenbank:** Zonen, Gefäße, Genetik-Datenbank.
|
||||||
* **Bildergalerie:** Lade Fotos deiner Pflanzen hoch, um die Entwicklung festzuhalten.
|
* **Dashboard:** Alles auf einen Blick.
|
||||||
* **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 🛠️
|
## Installation & Betrieb 🛠️
|
||||||
|
|
||||||
### Voraussetzungen
|
Dieses Projekt ist für den Betrieb als Docker-Container ausgelegt.
|
||||||
* Docker & Docker Compose
|
|
||||||
* Alternativ: Webserver mit PHP 8.2+ und MySQL/MariaDB
|
|
||||||
|
|
||||||
### Docker Quickstart
|
### 1. Voraussetzungen
|
||||||
|
* Docker Engine
|
||||||
1. **Repository klonen:**
|
* Eine laufende MySQL/MariaDB Datenbank (extern)
|
||||||
```bash
|
|
||||||
git clone https://git.klenzel.net/admin/cazubu.git
|
|
||||||
cd cazubu
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Container starten:**
|
|
||||||
```bash
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
*Die App ist nun unter `http://localhost:8090` erreichbar.*
|
|
||||||
|
|
||||||
3. **Standard-Login:**
|
|
||||||
* Benutzer: `testnutzer`
|
|
||||||
* Passwort: `Start123!`
|
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Bedienungsanleitung 📖
|
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||
### Sensoren verbinden
|
|
||||||
Jeder Benutzer hat einen eigenen API-Key (siehe "Profil").
|
|
||||||
Sende Sensordaten per HTTP GET Request an:
|
|
||||||
|
|
||||||
|
### 2. Datenbank vorbereiten
|
||||||
|
Importiere die Struktur in deine Datenbank:
|
||||||
|
```bash
|
||||||
|
mysql -u dein_user -p deine_db < src/database/install.sql
|
||||||
```
|
```
|
||||||
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
|
### 3. Container starten (Docker CLI)
|
||||||
|
|
||||||
|
Verwende diesen Befehl, um den Container zu starten. Passe die Werte für `DB_SERVER`, `DB_USERNAME`, `DB_PASSWORD` und `DB_NAME` an deine Umgebung an.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name cazubu \
|
||||||
|
--restart unless-stopped \
|
||||||
|
-p 8080:80 \
|
||||||
|
-e DB_SERVER="192.168.1.100" \
|
||||||
|
-e DB_USERNAME="cazubu_user" \
|
||||||
|
-e DB_PASSWORD="dein_sicheres_passwort" \
|
||||||
|
-e DB_NAME="cazubu_db" \
|
||||||
|
-v cazubu_uploads:/var/www/html/uploads \
|
||||||
|
172.30.1.213/admin/cazubu:latest
|
||||||
```
|
```
|
||||||
*Die `PFLANZEN_ID` findest du in der Detailansicht der Pflanze.*
|
|
||||||
|
**Wichtig:** Das Volume `-v cazubu_uploads:/var/www/html/uploads` ist notwendig, damit hochgeladene Bilder bei einem Update nicht verloren gehen!
|
||||||
|
|
||||||
|
### Umgebungsvariablen
|
||||||
|
|
||||||
|
| Variable | Beschreibung | Standard |
|
||||||
|
|----------|--------------|----------|
|
||||||
|
| `DB_SERVER` | IP oder Hostname des Datenbankservers | `172.30.242.130` |
|
||||||
|
| `DB_USERNAME` | Datenbank-Benutzer | `cazubu` |
|
||||||
|
| `DB_PASSWORD` | Datenbank-Passwort | (intern) |
|
||||||
|
| `DB_NAME` | Name der Datenbank | `cazubu` |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Tech Stack 💻
|
## Bedienung 📖
|
||||||
* **Frontend:** Bootstrap 5.3, Chart.js, jQuery
|
|
||||||
* **Backend:** PHP 8.2 (Native)
|
* **Login:** `testnutzer` / `Start123!` (Bitte sofort ändern!)
|
||||||
* **Datenbank:** MySQL / MariaDB
|
* **Erste Schritte:**
|
||||||
* **Design:** Custom "Organic Light Glass" Theme (CSS Variables, Backdrop Filter)
|
1. Inventar -> Zonen anlegen.
|
||||||
|
2. Samen -> Samen erfassen.
|
||||||
|
3. Startseite -> Neue Pflanze.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Changelog
|
## Sensoren integrieren 🌡️
|
||||||
**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.
|
|
||||||
|
|
||||||
**v1.0.0**
|
Sende Daten per HTTP GET (z.B. vom ESP32):
|
||||||
* Initiale Dockerisierung und Grundfunktionen.
|
|
||||||
|
`http://DEINE-IP/api.php?apikey=DEIN_KEY&pflanze=ID&sensor=temp&wert=24.5`
|
||||||
|
|
||||||
|
*(API-Key findest du im Profil, Pflanzen-ID in der Detailansicht)*
|
||||||
|
|||||||
23141
db-init/init.sql
Normal file
23141
db-init/init.sql
Normal file
File diff suppressed because it is too large
Load Diff
55
docker-compose.yml
Normal file
55
docker-compose.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
build: .
|
||||||
|
container_name: cazubu-app
|
||||||
|
ports:
|
||||||
|
- "8090:80"
|
||||||
|
volumes:
|
||||||
|
- ./src:/var/www/html
|
||||||
|
environment:
|
||||||
|
- DB_SERVER=db
|
||||||
|
- DB_USERNAME=cazubu
|
||||||
|
- DB_PASSWORD=dev_secret
|
||||||
|
- DB_NAME=cazubu
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
networks:
|
||||||
|
- cazubu-net
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: mariadb:10.11
|
||||||
|
container_name: cazubu-db
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=root_secret
|
||||||
|
- MYSQL_DATABASE=cazubu
|
||||||
|
- MYSQL_USER=cazubu
|
||||||
|
- MYSQL_PASSWORD=dev_secret
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/mysql
|
||||||
|
- ./db-init:/docker-entrypoint-initdb.d
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
networks:
|
||||||
|
- cazubu-net
|
||||||
|
|
||||||
|
phpmyadmin:
|
||||||
|
image: phpmyadmin/phpmyadmin
|
||||||
|
container_name: cazubu-pma
|
||||||
|
environment:
|
||||||
|
- PMA_HOST=db
|
||||||
|
- PMA_USER=cazubu
|
||||||
|
- PMA_PASSWORD=dev_secret
|
||||||
|
ports:
|
||||||
|
- "8081:80"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
networks:
|
||||||
|
- cazubu-net
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
cazubu-net:
|
||||||
0
src/uploads/.gitkeep
Normal file
0
src/uploads/.gitkeep
Normal file
Binary file not shown.
|
Before Width: | Height: | Size: 768 KiB |
Reference in New Issue
Block a user