Files
grotti/docs/Anleitung-Einrichtung.md
T

2.8 KiB

Einrichtung

Stand 24.10.2026. Grotti auf dem Haus-PC oder Raspberry Pi installieren und den Browser öffnen. Die Drucker brauchen vorher Moonraker (Rinkhals auf Kobra 3 und S1).

Was du brauchst

  • Python 3.11
  • PostgreSQL (leere Datenbank grotti reicht; Schema legt Grotti an)
  • Drucker im selben Netz, Moonraker auf Port 80
  • Dieses Repo und eine config.json

Einmalig einrichten

Im Projektordner:

cd D:\Projekte\Grotti
python -m venv .venv
.\.venv\Scripts\pip install -r requirements.txt
copy config.example.json config.json

config.json anpassen. Die wichtigsten Schlüssel:

Schlüssel Bedeutung
host, port Wo die Oberfläche lauscht. Standard 127.0.0.1:8770.
database_url PostgreSQL-Verbindung.
data_dir Uploads, Vorschaubilder, Cache. Standard data.
watch_dir Slice-Ordner (meist unter Einstellungen setzen). Leer = nur manueller Upload. Standard-Vorschlag: Ordner slice im Repo.
token Optionaler Shared-API-Token (Übergang). Mit Benutzerverwaltung nutzt du API-Tokens unter Einstellungen.
fqdn Öffentliche Basis-URL für QR auf Spulen-Etiketten. Leer = Request-Host.
auto_queue false stoppt neue „wenn frei“-Starts.
energy, telegram, alerts Kosten im Protokoll und Telegram — später auch unter Einstellungen.
secret_key Für Login-Sessions. Beim ersten Start wird ein Wert erzeugt, wenn leer.

Drucker beim ersten Start über drucker.json (Seed). Danach pflegt man sie unter Einstellungen.

[{ "name": "Kobra 3 da26", "host": "10.10.1.60" }]

Die Familie (Kobra 3 oder S1) liest Grotti aus dem Namen.

Starten

.\.venv\Scripts\python.exe server.py

Dann http://127.0.0.1:8770/ öffnen. Beim ersten Start legst du den Admin-Benutzer an. Nach Code-Änderungen an Python oft neu starten.

Druckerwand nach dem Start

Sicherheit

  • Druckstart über die API nur mit confirm: true (Dateien-UI: ein Klick).
  • Keine freie G-code-Konsole; Firmware-Neustart über Grotti ist gesperrt.
  • Benutzer und API-Tokens unter Einstellungen. App-Kopplung: Token erzeugen und QR scannen, oder POST /api/v1/auth/token mit Benutzer/Passwort. Push aufs Handy: ntfy (kein FCM). API-Referenz: intern docs/internal/API.md.
  • Für Zugriff aus dem Internet: Reverse Proxy mit TLS, nicht den Entwickler-Server öffentlich freigeben.
  • config.json und data/ bleiben lokal, nicht im Git.
  • Raspberry Pi: Installation auf dem Pi (.deb, Umzug Windows→Pi).

Weiter