dockerized läuft

This commit is contained in:
br committed 2026-08-03 13:38:11 +02:00
1 parent a8c95e9df5
commit 1c789aa8d5
10 files changed
+735 -286

No files matched your search

+54 -11
View File
@@ -21,27 +21,31 @@ Formeleon ist ein zentral gehosteter Service (ChamäleonCloud), der es Webseiten
## 🛠️ Tech-Stack
* **Backend:** Python 3.12, Flask (Blueprint-Architektur), Flask-SQLAlchemy, Flask-Migrate (Alembic)
* **Backend:** Python 3.13, Flask (Blueprint-Architektur), Flask-SQLAlchemy, Flask-Migrate (Alembic)
* **Frontend (Admin-Panel):** Bootstrap 5, Mithril.js / HTML5
* **Authentication:** OIDC via Zitadel (Admin-Panel)
* **Deployment:** Docker, Gunicorn, Gitea Actions (Runner)
---
## 🚀 Schnellstart (Dev-Mode)
## 🚀 Schnellstart (Lokal / Docker-less)
Das Projekt kann auf Windows/Linux komplett ohne Docker in einer Virtual Environment entwickelt werden:
1. **Repository klonen & Umgebung einrichten:**
```bash
python3 -m venv venv
python -m venv venv
# Auf Linux/Mac:
source venv/bin/activate
# Auf Windows:
venv\Scripts\activate
pip install -r requirements.txt
```
2. **Umgebungsvariablen konfigurieren:**
```bash
cp .env.example .env
# DEV_MODE=true ist standardmäßig aktiviert
```
2. **Umgebungsvariablen (optional):**
*(Formeleon startet standardmäßig im Dev-Mode mit einer lokalen SQLite-DB `formeleon.db`)*
3. **Datenbank initialisieren & starten:**
```bash
@@ -49,18 +53,57 @@ Formeleon ist ein zentral gehosteter Service (ChamäleonCloud), der es Webseiten
flask db init
# Datenbank-Schema erstellen
flask db migrate -m "initial migration"
flask db upgrade
# Optionales Seeding mit Testdaten
flask seed-db
# Anwendung starten
flask run --port=5000
# Anwendung starten (auf Port 5000 mit Hot-Reload)
flask run --port=5000 --debug
```
---
## 🐳 Schnellstart (Docker)
Für das vollständige Linux- / Staging-Gefühl kannst du Docker nutzen. Durch Volume-Mounts bleibt der Code synchron, und du kannst im Editor (Windows/Mac) programmieren.
```bash
# 1. Image bauen und Container starten
docker-compose up --build
# 2. Anwendung beenden
# (Strg+C oder:)
docker-compose down
# 3. Datenbank und Volumes komplett zurücksetzen
docker-compose down -v && docker-compose up --build
```
### Docker CLI-Kommandos ausführen
Du kannst `flask` Kommandos direkt gegen den laufenden Container feuern:
```bash
# Datenbank Migrationen anlegen
docker-compose run --rm app flask db migrate -m "neue migration"
# Datenbank-Schema updaten
docker-compose run --rm app flask db upgrade
# Datenbank mit Testdaten füllen
docker-compose run --rm app flask seed-db
# Shell im Container öffnen
docker-compose run --rm app bash
```
### Zugriff auf die Anwendung
- **Admin Dashboard:** http://localhost:5000/admin/
- **API Endpunkt:** http://localhost:5000/api/v1/
- **Health Check:** http://localhost:5000/
---
## 📚 Dokumentation
* [`AGENTS.md`](./AGENTS.md) – Regelwerk und Anweisungen für KI-Coding-Agenten.