dockerized läuft
This commit is contained in:
1 parent
a8c95e9df5
commit
1c789aa8d5
10 files changed
+735
-286
No files matched your search
@@ -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.
|
||||
|
||||
Reference in new issue
Block a user