diff --git a/Dockerfile b/Dockerfile index 7a505f9..2fb319d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,19 +2,19 @@ FROM python:3.11-slim WORKDIR /app -COPY bridge/requirements.txt . +COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -COPY bridge/kobrax_moonraker_bridge.py . -COPY bridge/config_loader.py . -COPY bridge/env_loader.py . -COPY bridge/kobrax_client.py . -COPY bridge/anycubic_slicer.crt . -COPY bridge/anycubic_slicer.key . -COPY bridge/config/config.ini.example /app/config/config.ini.example +COPY kobrax_moonraker_bridge.py . +COPY config_loader.py . +COPY env_loader.py . +COPY kobrax_client.py . +COPY anycubic_slicer.crt . +COPY anycubic_slicer.key . +COPY config.ini.example /app/config/config.ini.example -# config/ ist ein Volume-Mountpoint – beim Start wird config.ini aus .env migriert -# falls noch keine config.ini vorhanden ist. +# config/ is a volume mount point – on first start, config.ini is migrated from .env +# if no config.ini exists yet. RUN mkdir -p /app/config EXPOSE 7125 diff --git a/config.ini.example b/config.ini.example new file mode 100644 index 0000000..fa1be8b --- /dev/null +++ b/config.ini.example @@ -0,0 +1,34 @@ +# KX-Bridge Konfigurationsdatei +# Kopiere diese Datei nach config.ini und trage deine Werte ein: +# cp config.ini.example config.ini +# +# Credentials mit extract_credentials.exe (Windows) oder +# extract_credentials (Linux) aus dem laufenden AnycubicSlicerNext auslesen. + +[connection] +# IP-Adresse des Druckers im lokalen Netzwerk +printer_ip = 192.168.x.x + +# MQTT-Port (Anycubic Kobra X Standard: 9883) +mqtt_port = 9883 + +# MQTT-Zugangsdaten (druckerspezifisch, beginnt mit "user") +username = userXXXXXXXXXX +password = XXXXXXXXXXXXXXX + +# Geräte-ID (32-stelliger Hex-String, druckerspezifisch) +device_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + +# Modell-ID (Kobra X Standard: 20030) +mode_id = 20030 + +[print] +# Standard-AMS-Slot für Einfarbdruck (auto = alle belegten Slots, 0-3 = fixer Slot) +default_ams_slot = auto + +# Auto-Leveling vor jedem Druck (1 = an, 0 = aus) +auto_leveling = 1 + +[bridge] +# Poll-Intervall in Sekunden +poll_interval = 3