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
|
||||
(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
|
||||
|
||||
### Added
|
||||
|
|
@ -460,13 +451,6 @@
|
|||
- Refactor: Gemeinsames `static/js/app.js` Modul extrahiert
|
||||
- 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
|
||||
## [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
|
||||
### Summary
|
||||
- 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)
|
||||
- Hot-Reload für alle Konfigurationsdateien
|
||||
- Paket-Log mit Typ-Filterung
|
||||
- Docker-ready mit docker-compose
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -83,7 +82,7 @@
|
|||
| Charts | Chart.js |
|
||||
| NINA-API | aiohttp (async HTTP-Polling) |
|
||||
| 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
|
||||
```
|
||||
|
||||
### 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)
|
||||
|
||||
```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.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.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.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) |
|
||||
|
|
@ -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.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.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.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) |
|
||||
|
|
|
|||
Loading…
Reference in a new issue