feat: v0.6.1 - Docker-Stack fuer Container-Betrieb

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ppfeiffer 2026-02-17 21:21:50 +01:00
parent 78bf66d6e1
commit 822c1a0991
8 changed files with 83 additions and 1 deletions

7
.dockerignore Normal file
View file

@ -0,0 +1,7 @@
venv/
.git/
__pycache__/
*.db*
.env
docs/
conf/

View file

@ -1,5 +1,12 @@
# Changelog
## [0.6.1] - 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.6.0] - 2026-02-17
### Summary
- Node-Detail-Modal mit Minikarte im Dashboard

14
Dockerfile Normal file
View file

@ -0,0 +1,14 @@
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY meshbot/ meshbot/
COPY static/ static/
COPY main.py .
EXPOSE 8080
CMD ["python", "main.py"]

19
conf/config.yaml Normal file
View file

@ -0,0 +1,19 @@
version: "0.6.1"
bot:
name: "MeshDD-Bot"
command_prefix: "?"
meshtastic:
host: "192.168.11.11"
port: 4403
web:
host: "0.0.0.0"
port: 8080
database:
path: "data/meshdd.db"
auth:
session_max_age: 86400

7
conf/env.example Normal file
View file

@ -0,0 +1,7 @@
AUTH_SECRET_KEY=change-this-secret-key-32bytes!!
SMTP_HOST=
SMTP_PORT=465
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=MeshDD-Bot <noreply@example.com>
SMTP_APP_URL=http://localhost:8080

15
conf/scheduler.yaml Normal file
View file

@ -0,0 +1,15 @@
jobs:
- name: Wetterbericht
enabled: true
cron: 0 6,12,18 * * *
command: /weather
channel: 0
description: Taeglicher Wetterbericht
type: command
- name: Mesh-Status
enabled: true
cron: 30 18 * * *
command: /mesh
channel: 0
description: Mesh-Netzwerk Uebersicht
type: command

View file

@ -1,4 +1,4 @@
version: "0.6.0"
version: "0.6.1"
bot:
name: "MeshDD-Bot"

13
docker-compose.yml Normal file
View file

@ -0,0 +1,13 @@
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
volumes:
meshdd-data: