chore: Docker-Dateien und alle Docker-Referenzen entfernt
- Dockerfile, docker-compose.yml, .dockerignore gelöscht - CHANGELOG.md: Einträge v0.06.01 (Docker-Support) und v0.07.00 entfernt - docs/bot-beschreibung.md: Docker-Abschnitte und Tabellenzeilen bereinigt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c443a9f26d
commit
eda9177b54
|
|
@ -1,7 +0,0 @@
|
||||||
venv/
|
|
||||||
.git/
|
|
||||||
__pycache__/
|
|
||||||
*.db*
|
|
||||||
.env
|
|
||||||
docs/
|
|
||||||
conf/
|
|
||||||
16
CHANGELOG.md
16
CHANGELOG.md
|
|
@ -329,15 +329,6 @@
|
||||||
- **Standard-Theme**: Hell-Theme (Light) ist jetzt der Default für neue Besucher
|
- **Standard-Theme**: Hell-Theme (Light) ist jetzt der Default für neue Besucher
|
||||||
(bisher: Dark). Gespeicherte Benutzereinstellung bleibt erhalten.
|
(bisher: Dark). Gespeicherte Benutzereinstellung bleibt erhalten.
|
||||||
|
|
||||||
## [0.07.00] - 2026-02-18
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
- **Dockerfile**: `EXPOSE` von 8080 auf 8081 korrigiert (entspricht Web-Port in config.yaml).
|
|
||||||
- **Dockerfile**: `HEALTHCHECK` hinzugefügt – prüft `/api/stats` alle 30s,
|
|
||||||
Timeout 5s, Start-Wartezeit 20s, max. 3 Versuche.
|
|
||||||
- **docker-compose.yml**: `healthcheck` und `logging` (json-file, 10 MB / 3 Dateien) ergänzt.
|
|
||||||
- **conf/config.yaml**: Version auf 0.07.00 und Verbindungsdaten aktualisiert.
|
|
||||||
|
|
||||||
## [0.06.15] - 2026-02-18
|
## [0.06.15] - 2026-02-18
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
@ -460,13 +451,6 @@
|
||||||
- Refactor: Gemeinsames `static/js/app.js` Modul extrahiert
|
- Refactor: Gemeinsames `static/js/app.js` Modul extrahiert
|
||||||
- Eliminiert ~360 Zeilen doppelten Code aus allen 5 Seiten (Navbar, Sidebar, Theme, escapeHtml)
|
- Eliminiert ~360 Zeilen doppelten Code aus allen 5 Seiten (Navbar, Sidebar, Theme, escapeHtml)
|
||||||
- Sidebar-HTML wird jetzt dynamisch per `initPage()` injiziert mit automatischer Active-Link-Erkennung
|
- Sidebar-HTML wird jetzt dynamisch per `initPage()` injiziert mit automatischer Active-Link-Erkennung
|
||||||
## [0.06.01] - 2026-02-17
|
|
||||||
### Added
|
|
||||||
- Dockerfile fuer Container-Betrieb (python:3.12-slim)
|
|
||||||
- docker-compose.yml mit Host-Netzwerk und Named Volume fuer SQLite
|
|
||||||
- conf/ Verzeichnis mit Beispiel-Konfigurationsdateien fuer Docker
|
|
||||||
- .dockerignore fuer saubere Docker-Builds
|
|
||||||
|
|
||||||
## [0.06.00] - 2026-02-17
|
## [0.06.00] - 2026-02-17
|
||||||
### Summary
|
### Summary
|
||||||
- Node-Detail-Modal mit Minikarte im Dashboard
|
- Node-Detail-Modal mit Minikarte im Dashboard
|
||||||
|
|
|
||||||
19
Dockerfile
19
Dockerfile
|
|
@ -1,19 +0,0 @@
|
||||||
FROM python:3.12-slim
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
COPY requirements.txt .
|
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
|
||||||
|
|
||||||
# Copy application
|
|
||||||
COPY meshbot/ meshbot/
|
|
||||||
COPY static/ static/
|
|
||||||
COPY main.py .
|
|
||||||
|
|
||||||
EXPOSE 8081
|
|
||||||
|
|
||||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
|
|
||||||
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8081/api/stats')" || exit 1
|
|
||||||
|
|
||||||
CMD ["python", "main.py"]
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
services:
|
|
||||||
meshdd-bot:
|
|
||||||
build: .
|
|
||||||
network_mode: host
|
|
||||||
volumes:
|
|
||||||
- ./conf/config.yaml:/app/config.yaml:ro
|
|
||||||
- ./conf/env:/app/.env:ro
|
|
||||||
- ./conf/scheduler.yaml:/app/scheduler.yaml
|
|
||||||
- meshdd-data:/app/data
|
|
||||||
restart: unless-stopped
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8081/api/stats')"]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
start_period: 20s
|
|
||||||
retries: 3
|
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "10m"
|
|
||||||
max-files: "3"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
meshdd-data:
|
|
||||||
|
|
@ -35,7 +35,6 @@
|
||||||
- Benutzerverwaltung mit Rollen (public / user / admin)
|
- Benutzerverwaltung mit Rollen (public / user / admin)
|
||||||
- Hot-Reload für alle Konfigurationsdateien
|
- Hot-Reload für alle Konfigurationsdateien
|
||||||
- Paket-Log mit Typ-Filterung
|
- Paket-Log mit Typ-Filterung
|
||||||
- Docker-ready mit docker-compose
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -83,7 +82,7 @@
|
||||||
| Charts | Chart.js |
|
| Charts | Chart.js |
|
||||||
| NINA-API | aiohttp (async HTTP-Polling) |
|
| NINA-API | aiohttp (async HTTP-Polling) |
|
||||||
| Konfiguration | YAML (config.yaml, scheduler.yaml, nina.yaml) |
|
| Konfiguration | YAML (config.yaml, scheduler.yaml, nina.yaml) |
|
||||||
| Deployment | systemd Service / Docker + docker-compose |
|
| Deployment | systemd Service |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -528,21 +527,6 @@ sudo systemctl start meshdd-bot
|
||||||
journalctl -u meshdd-bot -f
|
journalctl -u meshdd-bot -f
|
||||||
```
|
```
|
||||||
|
|
||||||
### Docker / docker-compose
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Bauen und starten
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
# Logs
|
|
||||||
docker compose logs -f
|
|
||||||
|
|
||||||
# Stoppen
|
|
||||||
docker compose down
|
|
||||||
```
|
|
||||||
|
|
||||||
`docker-compose.yml` verwendet Host-Netzwerk (direkter TCP-Zugriff auf Meshtastic-Node), Named Volume für SQLite, JSON-File-Logging (10 MB / 3 Dateien) und Health-Check (`/api/stats` alle 30s).
|
|
||||||
|
|
||||||
### Direkt (Entwicklung)
|
### Direkt (Entwicklung)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -571,7 +555,6 @@ Die folgende Tabelle zeigt die wichtigsten Entwicklungsmeilensteine von der erst
|
||||||
| **0.05.03** | 2026-02-16 | **Secrets in .env:** AUTH_SECRET_KEY und SMTP-Einstellungen aus config.yaml in Umgebungsvariablen ausgelagert |
|
| **0.05.03** | 2026-02-16 | **Secrets in .env:** AUTH_SECRET_KEY und SMTP-Einstellungen aus config.yaml in Umgebungsvariablen ausgelagert |
|
||||||
| **0.05.04** | 2026-02-16 | **Admin erweitert:** Benutzer direkt anlegen mit Passwort, Bearbeiten-Modal, Passwort-Reset, Passwort-Generator |
|
| **0.05.04** | 2026-02-16 | **Admin erweitert:** Benutzer direkt anlegen mit Passwort, Bearbeiten-Modal, Passwort-Reset, Passwort-Generator |
|
||||||
| **0.06.00** | 2026-02-17 | **Node-Detail-Modal:** Klick auf Node → Modal mit allen Feldern + Leaflet-Minikarte |
|
| **0.06.00** | 2026-02-17 | **Node-Detail-Modal:** Klick auf Node → Modal mit allen Feldern + Leaflet-Minikarte |
|
||||||
| **0.06.01** | 2026-02-17 | **Docker-Support:** Dockerfile, docker-compose.yml, .dockerignore |
|
|
||||||
| **0.06.02** | 2026-02-17 | **Geteiltes app.js:** ~360 Zeilen duplizierten Frontend-Code in gemeinsames Modul extrahiert |
|
| **0.06.02** | 2026-02-17 | **Geteiltes app.js:** ~360 Zeilen duplizierten Frontend-Code in gemeinsames Modul extrahiert |
|
||||||
| **0.06.03** | 2026-02-17 | **WebSocket-Sicherheit:** `auth_clients` vs. `clients` — Nachrichten nur an authentifizierte WS-Clients |
|
| **0.06.03** | 2026-02-17 | **WebSocket-Sicherheit:** `auth_clients` vs. `clients` — Nachrichten nur an authentifizierte WS-Clients |
|
||||||
| **0.06.05** | 2026-02-17 | **Dark-Mode-Karte + Charts:** CartoDB Dark Matter, 3 Charts (Kanal, Hops, Hardware) |
|
| **0.06.05** | 2026-02-17 | **Dark-Mode-Karte + Charts:** CartoDB Dark Matter, 3 Charts (Kanal, Hops, Hardware) |
|
||||||
|
|
@ -580,7 +563,6 @@ Die folgende Tabelle zeigt die wichtigsten Entwicklungsmeilensteine von der erst
|
||||||
| **0.06.13** | 2026-02-18 | **Karten-Alter-Transparenz:** Nodes >72h werden ausgeblendet; Legende mit Alter-Sektion |
|
| **0.06.13** | 2026-02-18 | **Karten-Alter-Transparenz:** Nodes >72h werden ausgeblendet; Legende mit Alter-Sektion |
|
||||||
| **0.06.14** | 2026-02-18 | **Pakettypen-Chart:** Viertes Doughnut-Chart mit Pakettyp-Verteilung 24h |
|
| **0.06.14** | 2026-02-18 | **Pakettypen-Chart:** Viertes Doughnut-Chart mit Pakettyp-Verteilung 24h |
|
||||||
| **0.06.15** | 2026-02-18 | **Scheduler Template-Variablen:** `{time}`, `{date}`, `{weekday}`, `{nodes}` etc.; Footer auf allen Seiten |
|
| **0.06.15** | 2026-02-18 | **Scheduler Template-Variablen:** `{time}`, `{date}`, `{weekday}`, `{nodes}` etc.; Footer auf allen Seiten |
|
||||||
| **0.07.00** | 2026-02-18 | **Docker-Verbesserungen:** HEALTHCHECK, Logging-Config, korrigierter Port |
|
|
||||||
| **0.08.00** | 2026-02-19 | **NINA-Integration:** BBK Warn-App angebunden; duales Polling (Dashboard + mapData); Konfigurationsseite; Monitor-Modus; Live-Tabelle via WebSocket |
|
| **0.08.00** | 2026-02-19 | **NINA-Integration:** BBK Warn-App angebunden; duales Polling (Dashboard + mapData); Konfigurationsseite; Monitor-Modus; Live-Tabelle via WebSocket |
|
||||||
| **0.08.01** | 2026-02-19 | **NINA Resend-Loop:** Aktive Warnungen werden zyklisch wiederholt; AGS-Code-Tabelle statt Badges |
|
| **0.08.01** | 2026-02-19 | **NINA Resend-Loop:** Aktive Warnungen werden zyklisch wiederholt; AGS-Code-Tabelle statt Badges |
|
||||||
| **0.08.02** | 2026-02-19 | **NINA geografische Filterung:** mapData nur noch ohne AGS-Codes aktiv (verhindert bundesweite Meldungen) |
|
| **0.08.02** | 2026-02-19 | **NINA geografische Filterung:** mapData nur noch ohne AGS-Codes aktiv (verhindert bundesweite Meldungen) |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue