Files
grotti/docs/Anleitung-Installation-Pi.md

3.5 KiB
Raw Permalink Blame History

Installation auf dem Raspberry Pi

Stand 18.10.2026. Phase 1: Installation per .deb-Datei. Ein öffentliches apt-Repository kommt später.

Voraussetzungen

  • Raspberry Pi OS Bookworm (64-Bit / arm64), Pi 4 oder 5 empfohlen
  • Netz zu den Druckern (Moonraker/Rinkhals)
  • ca. 1 GB freier Speicher für Paket + PostgreSQL

Paket bauen (auf dem Pi oder arm64-Host)

Im geklonten Repo:

sudo apt install -y python3-venv rsync dpkg-dev
bash packaging/build-deb.sh

Ergebnis: packaging/dist/grotti_<version>_arm64.deb

Installieren

sudo apt install ./packaging/dist/grotti_*_arm64.deb

Das zieht PostgreSQL mit, legt Benutzer grotti, Datenbank grotti und den Dienst an.

  • Oberfläche: http://<pi-ip>:8770/
  • Config: /etc/grotti/config.json (wird bei Updates nicht überschrieben)
  • Daten: /var/lib/grotti/
  • Slice-Ordner: /var/lib/grotti/slice (unter Einstellungen änderbar)

Beim ersten Aufruf Admin-Konto anlegen (wie gewohnt).

Logging

Logs gehen nach journald:

journalctl -u grotti -f
journalctl -u grotti --since "1h ago"
journalctl -u grotti -n 200

Log-Level in /etc/grotti/config.json:

"log_level": "INFO"

Werte: DEBUG, INFO, WARNING, ERROR. Danach:

sudo systemctl restart grotti

Dienst

sudo systemctl status grotti
sudo systemctl restart grotti
sudo systemctl stop grotti

Update

Neue .deb bauen bzw. holen, dann erneut:

sudo apt install ./packaging/dist/grotti_*_arm64.deb

Config und /var/lib/grotti bleiben erhalten.

Deinstallieren

sudo apt remove grotti          # Dienst weg, Daten bleiben
sudo apt purge grotti           # zusätzlich /etc/grotti
# optional Datenbank:
# sudo -u postgres dropdb grotti
# sudo -u postgres dropuser grotti
# sudo rm -rf /var/lib/grotti

Umzug Windows → Pi

  1. Backup auf dem alten Rechner (Einstellungen → Backup) oder pg_dump der PostgreSQL-Datenbank.
  2. Auf dem Pi Grotti per .deb installieren (oben).
  3. Backup einspielen (Einstellungen → Backup wiederherstellen) oder pg_restore in die DB grotti.
  4. Slice-Ordner nach /var/lib/grotti/slice kopieren (rsync/scp).
  5. Absolute Windows-Pfade in der DB umschreiben (Dry-Run zuerst):
sudo -u grotti /opt/grotti/venv/bin/python /opt/grotti/scripts/pfade_umziehen.py \
  --database-url 'postgresql:///grotti?host=/var/run/postgresql' \
  --from 'D:/dein/slice' --to /var/lib/grotti/slice
# prüfen, dann mit --apply

(Alternativ aus dem Repo-Clone mit derselben DB-URL.)

  1. Unter Einstellungen: watch_dir = /var/lib/grotti/slice, ggf. fqdn auf die Pi-URL.
  2. In Orca „Senden an Grotti“ auf http://<pi-ip>:8770/ umstellen.
  3. sudo systemctl restart grotti und unter Dateien → Ordner neu lesen.

Last auf dem Pi

  • Watcher und Toolpath-Cache liegen unter /var/lib/grotti/. Bei wenig Speicher Toolpath-Cache-Ordner (data/toolpath) gelegentlich leeren.
  • Wenige SSE-Clients sind unkritisch; viele offene Browser-Tabs mit Kamera-Stream belasten CPU/Netz.
  • Empfohlen: Pi 4/5 mit SSD oder schneller SD, nicht parallel schwere Builds auf demselben Gerät.

Hinweise

  • Standard lauscht auf 0.0.0.0:8770 (LAN). Für Internet: Reverse Proxy mit TLS.
  • Drucker unter Einstellungen anlegen (kein vorgefülltes drucker.json nötig).
  • Öffentliches apt install grotti ohne Datei: kommt mit dem Repo-Server (Phase 2).
  • .deb auf dem Ziel-Pi bauen (bash packaging/build-deb.sh), damit arm64-Wheels (psycopg, cryptography) passen.