homelab-brain/fuenfvoracht/src/Dockerfile.web
root a9ef7739be feat(fuenfvoracht): vollständiger Sprint — Zeitplanung, Logging, Briefing, Deploy
- CT 112 auf pve-hetzner: Bot + Dashboard produktiv
- Strukturiertes JSON-Logging (logger.py, /logs/fuenfvoracht.log)
- 15-Min-Zeitslots: UNIQUE(date, post_time), DB-Migration, Konflikterkennung
- Einplan-Flow: scheduled-Status, notify_at, automatische Bot-Benachrichtigung
- Board-API: Umplanen (reschedule) + Löschen per Article-ID
- Morgen-Briefing täglich 10:00 MEZ: Tagesplan + Ausblick 3 Tage
- Fehler-Alarm: detaillierte Meldung an alle Redakteure bei Posting-Fehler
- Reviewer-Verwaltung: DB-Tabelle, API add/remove, Willkommensnachricht
- Zweiter Redakteur (1329146910) parallel eingebunden
- Markenzeichen automatisch unter jeden Beitrag (Duplikat-Schutz)
- Tailwind CSS self-hosted im Docker-Image (kein CDN, schnelle Ladezeiten)
- TELEGRAM_CHANNEL_ID gesetzt (-1001285446620)
- Hilfe-Seite /hilfe: 6 Aufgabenbereiche mit Klickpfaden
- STATE.md aktualisiert und vollständig dokumentiert

Made-with: Cursor
2026-02-26 22:12:12 +07:00

11 lines
545 B
Text

FROM python:3.11-slim
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends curl && rm -rf /var/lib/apt/lists/*
COPY requirements-web.txt .
RUN pip install --no-cache-dir -r requirements-web.txt
COPY database.py openrouter.py app.py logger.py ./
COPY templates/ templates/
RUN mkdir -p /app/static && \
curl -sL https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css \
-o /app/static/tailwind.min.css
CMD ["gunicorn", "--bind", "0.0.0.0:8080", "--workers", "4", "--timeout", "120", "app:app"]