67 lines
2.5 KiB
Markdown
67 lines
2.5 KiB
Markdown
# Einrichtung
|
|
|
|
Stand **15.10.2026**. Grotti auf dem Haus-PC 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:
|
|
|
|
```powershell
|
|
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](Anleitung-Einstellungen.md).
|
|
|
|
```json
|
|
[{ "name": "Kobra 3 da26", "host": "10.10.1.60" }]
|
|
```
|
|
|
|
Die Familie (Kobra 3 oder S1) liest Grotti aus dem Namen.
|
|
|
|
## Starten
|
|
|
|
```powershell
|
|
.\.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.
|
|
|
|

|
|
|
|
## 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. 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.
|
|
|
|
## Weiter
|
|
|
|
- [Oberfläche](Anleitung-Oberflaeche.md) — Navigation und Sidebar
|
|
- [Dateien senden](Anleitung-Dateien.md) — erster Druck
|
|
- Ausführlich im `README.md` im Projektordner
|