Files
kantinen-wrapper/Dockerfile
Michael Kaufmann bc98a19fc6 feat: server-based version with menu flagging, distributed polling, and SSE
Complete implementation including:
- Express server with Bessa API proxy
- Puppeteer scraper for menu data
- Flag storage (file-based persistence)
- SSE manager for real-time updates
- Polling orchestrator for distributed polling
- Frontend with weekly view, ordering, and flagging UI
- Yellow/green glow indicators for flagged items
2026-02-12 08:36:05 +01:00

63 lines
3.0 KiB
Docker

# BASIS: Wir nutzen das Webtop Image (Ubuntu + XFCE Desktop)
FROM lscr.io/linuxserver/webtop:ubuntu-xfce
# METADATEN
LABEL maintainer="DeinName"
LABEL description="Google Antigravity IDE (Official Repo)"
# VORBEREITUNG: Notwendige Tools installieren (curl, gpg für den Schlüssel)
RUN apt-get update && apt-get install -y \
curl \
gnupg \
&& rm -rf /var/lib/apt/lists/*
# INSTALLATION: Google Repository hinzufügen
# 1. Keyring Verzeichnis erstellen
# 2. GPG Key herunterladen und speichern
# 3. Repository zur sources.list hinzufügen
RUN mkdir -p /etc/apt/keyrings && \
curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | gpg --dearmor -o /etc/apt/keyrings/antigravity-repo-key.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/antigravity-repo-key.gpg] https://us-central1-apt.pkg.dev/projects/antigravity-auto-updater-dev/ antigravity-debian main" | tee /etc/apt/sources.list.d/antigravity.list
# INSTALLATION: Antigravity installieren
RUN apt-get update && \
apt-get install -y antigravity && \
rm -rf /var/lib/apt/lists/*
# INSTALLATION: Node.js und npm für Scraper-Entwicklung
# NodeSource Repository für aktuelle Node.js Version
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install -y nodejs && \
rm -rf /var/lib/apt/lists/*
# UMGEBUNGSVARIABLEN für Chromium und Playwright
# Diese helfen, Browser-Probleme in Docker zu vermeiden
# HINWEIS: Kein --headless damit Browser sichtbar für Monitoring/manuelle Eingriffe
ENV CHROME_BIN=/usr/bin/chromium-browser \
CHROMIUM_FLAGS="--disable-gpu --remote-debugging-port=9222 --no-sandbox --disable-dev-shm-usage" \
PLAYWRIGHT_BROWSERS_PATH=/usr/bin \
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
# MODIFIZIERUNG DER .desktop-Datei
# Die Original-Datei befindet sich typischerweise unter /usr/share/applications/antigravity.desktop
# Wir suchen die Zeile, die mit 'Exec=' beginnt, und fügen die benötigten Flags hinzu.
RUN DESKTOP_FILE="/usr/share/applications/antigravity.desktop" && \
if [ -f "$DESKTOP_FILE" ]; then \
# Suchen und Ersetzen der 'Exec' Zeile mit den Flags --no-sandbox und --disable-gpu
sed -i 's|Exec=/usr/share/antigravity/antigravity %F|Exec=/usr/share/antigravity/antigravity --no-sandbox --disable-gpu %F|g' "$DESKTOP_FILE" && \
echo "INFO: antigravity.desktop wurde erfolgreich gepatcht." || \
echo "FEHLER: sed-Befehl konnte die Datei $DESKTOP_FILE nicht patchen." ; \
else \
echo "WARNUNG: $DESKTOP_FILE nicht gefunden. Überspringe Patch." ; \
fi
# OPTIONAL: Autostart einrichten
# Wir versuchen, die .desktop Datei in den Autostart-Ordner zu kopieren.
# Der Name ist meistens antigravity.desktop, zur Sicherheit prüfen wir beide Varianten.
#RUN mkdir -p /defaults/autostart 2> /dev/null && \
# cp /usr/share/applications/antigravity.desktop ~/.config/autostart/ 2>/dev/null
# VOLUME für Persistenz
VOLUME /config