Commit 9308ab

2026-03-29 21:27:01 Manuel Weiser: Add installation guide for FilaMan on Raspberry Pi - Updated the contents table to include a new section for Raspberry Pi installation. - Created a comprehensive guide detailing the installation process of FilaMan on Raspberry Pi, including prerequisites, OS installation, SSH connection, Docker setup, and initial configuration.
docs/de/00-inhalt.md ..
@@ 29,6 29,7 @@
| 15 | [Plugin: SpoolmanDB Import](/Docs/De/15-Plugin-Spoolmandb) | Filamente aus der SpoolmanDB importieren |
| 16 | [Plugin: Spoolman API](/Docs/De/16-Plugin-Spoolmanapi) | Spoolman-kompatible API für externe Tools |
| 17 | [Plugin: Bambuddy](/Docs/De/17-Plugin-Bambuddy) | Bambuddy-Integration: Inventory-Sync und Verbrauchsmeldung |
+| 20 | [Installation auf dem Raspberry Pi](/Docs/De/20-Installation-Raspberry-Pi) | Schritt-für-Schritt-Anleitung für Einsteiger |
---
/dev/null .. docs/de/20-installation-raspberry-pi.md
@@ 0,0 1,691 @@
+# 20. Installation auf dem Raspberry Pi
+
+Diese Anleitung richtet sich an **absolute Einsteiger** und erklärt Schritt für Schritt, wie du FilaMan auf einem Raspberry Pi installierst. Es werden keine Vorkenntnisse vorausgesetzt -- nur ein Raspberry Pi, ein PC und etwas Geduld.
+
+---
+
+## 20.1 Was du brauchst (Voraussetzungen)
+
+### Hardware
+
+| Komponente | Empfehlung | Hinweis |
+|---|---|---|
+| **Raspberry Pi** | Modell 3B+, 4 oder 5 | Ältere Modelle (Pi 1/2/Zero) sind zu schwach |
+| **Netzteil** | Offizielles Raspberry Pi Netzteil | USB-C (Pi 4/5) oder Micro-USB (Pi 3B+) |
+| **microSD-Karte** | Mindestens 16 GB, empfohlen 32 GB | Class 10 oder schneller |
+| **Netzwerk** | LAN-Kabel oder WLAN | LAN-Kabel ist stabiler und empfohlen |
+| **Gehäuse** (optional) | Beliebiges Pi-Gehäuse | Schützt den Pi und verbessert die Kühlung |
+
+### Software (auf deinem PC)
+
+- **Raspberry Pi Imager** -- zum Beschreiben der SD-Karte ([Download hier](https://www.raspberrypi.com/software/))
+- **SSH-Client** -- zum Verbinden mit dem Pi:
+ - **Windows:** [PuTTY](https://www.putty.org/) oder das eingebaute Windows-Terminal (ab Windows 10)
+ - **macOS / Linux:** Terminal (ist bereits vorinstalliert)
+
+### Netzwerk
+
+- Der Raspberry Pi und dein PC müssen sich im **selben Netzwerk** befinden (gleiches WLAN oder am selben Router per Kabel)
+
+---
+
+## 20.2 Raspberry Pi OS installieren
+
+Das Betriebssystem für den Raspberry Pi wird auf eine microSD-Karte geschrieben. Das geht am einfachsten mit dem **Raspberry Pi Imager**.
+
+### Schritt 1: Raspberry Pi Imager herunterladen
+
+Lade den Imager von der offiziellen Webseite herunter und installiere ihn auf deinem PC:
+
+> https://www.raspberrypi.com/software/
+
+### Schritt 2: Imager starten und konfigurieren
+
+1. Stecke die **microSD-Karte** in deinen PC (ggf. mit SD-Kartenleser)
+2. Öffne den **Raspberry Pi Imager**
+3. Klicke auf **„Gerät wählen"** und wähle dein Raspberry Pi Modell aus
+4. Klicke auf **„OS wählen"** und wähle:
+ - **Raspberry Pi OS (other)** → **Raspberry Pi OS Lite (64-bit)**
+
+ > **Warum „Lite"?** Die Lite-Variante hat keine grafische Oberfläche und verbraucht weniger Ressourcen. FilaMan ist eine Web-Anwendung -- du bedienst sie über den Browser deines PCs, nicht am Pi selbst.
+
+5. Klicke auf **„SD-Karte wählen"** und wähle deine microSD-Karte aus
+
+ > **Achtung:** Alle Daten auf der SD-Karte werden gelöscht!
+
+### Schritt 3: Erweiterte Einstellungen konfigurieren
+
+Klicke auf **„Weiter"** und dann auf **„Einstellungen bearbeiten"**. Hier konfigurierst du wichtige Grundeinstellungen:
+
+**Reiter „Allgemein":**
+
+| Einstellung | Empfehlung | Erklärung |
+|---|---|---|
+| **Hostname** | `filaman` | Unter diesem Namen ist der Pi im Netzwerk erreichbar |
+| **Benutzername** | `pi` | Dein Benutzername für die Anmeldung am Pi |
+| **Passwort** | Ein sicheres Passwort | Merke dir dieses Passwort gut! |
+| **WLAN konfigurieren** | Dein WLAN-Name und Passwort | Nur nötig wenn du kein LAN-Kabel verwendest |
+| **Gebietsschema** | Deine Zeitzone und Tastaturlayout | z. B. Europe/Berlin, de |
+
+**Reiter „Dienste":**
+
+- Setze den Haken bei **„SSH aktivieren"**
+- Wähle **„Passwort zur Authentifizierung verwenden"**
+
+> **Was ist SSH?** SSH (Secure Shell) ermöglicht es dir, den Raspberry Pi von deinem PC aus über die Kommandozeile fernzusteuern -- ohne dass ein Bildschirm am Pi angeschlossen sein muss.
+
+Klicke auf **„Speichern"** und dann auf **„Ja"**, um das OS auf die SD-Karte zu schreiben.
+
+### Schritt 4: Raspberry Pi starten
+
+1. Warte bis der Schreibvorgang abgeschlossen ist
+2. Entferne die microSD-Karte sicher vom PC
+3. Stecke die microSD-Karte in den Raspberry Pi
+4. Schließe das Netzwerkkabel an (falls du LAN verwendest)
+5. Schließe das Netzteil an -- der Pi startet automatisch
+6. Warte ca. **1--2 Minuten**, bis der Pi vollständig hochgefahren ist
+
+---
+
+## 20.3 Mit dem Raspberry Pi verbinden (SSH)
+
+Jetzt verbindest du dich von deinem PC aus mit dem Raspberry Pi.
+
+### IP-Adresse herausfinden
+
+Du brauchst die IP-Adresse deines Raspberry Pi. Es gibt mehrere Möglichkeiten:
+
+**Option A: Über den Hostnamen (einfachste Methode)**
+
+Wenn du den Hostnamen `filaman` eingestellt hast, versuche:
+
+```bash
+ping filaman.local
+```
+
+Die Antwort zeigt dir die IP-Adresse (z. B. `192.168.1.42`).
+
+**Option B: Im Router nachschauen**
+
+1. Öffne die Weboberfläche deines Routers (meist `192.168.1.1` oder `192.168.178.1` bei Fritz!Box)
+2. Suche in der Geräteliste nach „filaman" oder „raspberrypi"
+3. Notiere die angezeigte IP-Adresse
+
+**Option C: Netzwerk scannen**
+
+Auf deinem PC kannst du alternativ folgenden Befehl nutzen:
+
+```bash
+# macOS / Linux:
+arp -a | grep raspberry
+
+# Windows (PowerShell):
+arp -a
+```
+
+### SSH-Verbindung herstellen
+
+**macOS / Linux (Terminal):**
+
+```bash
+ssh pi@filaman.local
+```
+
+Oder mit der IP-Adresse:
+
+```bash
+ssh pi@192.168.1.42
+```
+
+> Ersetze `192.168.1.42` durch die tatsächliche IP-Adresse deines Pi.
+
+Beim ersten Verbinden wirst du gefragt, ob du dem Host vertrauen möchtest. Tippe `yes` ein und drücke Enter. Gib dann das Passwort ein, das du im Raspberry Pi Imager festgelegt hast.
+
+**Windows (PuTTY):**
+
+1. Öffne PuTTY
+2. Trage bei **Host Name** ein: `filaman.local` (oder die IP-Adresse)
+3. Port: `22`
+4. Klicke auf **„Open"**
+5. Benutzername: `pi`
+6. Passwort: Dein gewähltes Passwort
+
+> **Tipp:** Ab Windows 10 kannst du auch einfach das **Windows Terminal** oder die **Eingabeaufforderung** verwenden und denselben `ssh`-Befehl wie bei macOS/Linux nutzen.
+
+**Wenn die Verbindung steht**, siehst du eine Kommandozeile wie:
+
+```
+pi@filaman:~ $
+```
+
+Du bist jetzt auf dem Raspberry Pi eingeloggt.
+
+---
+
+## 20.4 System aktualisieren
+
+Bevor wir FilaMan installieren, bringen wir das Betriebssystem auf den neuesten Stand:
+
+```bash
+sudo apt update && sudo apt upgrade -y
+```
+
+> **Was passiert hier?**
+> - `sudo` = Befehl mit Administrator-Rechten ausführen
+> - `apt update` = Liste der verfügbaren Software-Pakete aktualisieren
+> - `apt upgrade -y` = Alle Pakete auf die neueste Version aktualisieren (`-y` = ohne Nachfrage bestätigen)
+
+Das kann einige Minuten dauern. Warte, bis der Vorgang abgeschlossen ist.
+
+---
+
+## 20.5 Docker installieren
+
+FilaMan läuft in einem **Docker-Container**. Docker ist eine Software, die Anwendungen in abgeschotteten Paketen (sogenannten Containern) laufen lässt. Das hat den Vorteil, dass du dir keine Gedanken über Abhängigkeiten oder Konfiguration machen musst -- alles ist im Container enthalten.
+
+### Docker installieren
+
+Führe folgenden Befehl aus:
+
+```bash
+curl -fsSL https://get.docker.com | sh
+```
+
+> Dieser Befehl lädt das offizielle Docker-Installationsskript herunter und führt es aus. Die Installation dauert ca. 2--5 Minuten.
+
+### Deinen Benutzer zur Docker-Gruppe hinzufügen
+
+Damit du Docker-Befehle ohne `sudo` ausführen kannst:
+
+```bash
+sudo usermod -aG docker pi
+```
+
+> Ersetze `pi` durch deinen Benutzernamen, falls du einen anderen gewählt hast.
+
+### Abmelden und neu anmelden
+
+Damit die Gruppenänderung wirksam wird, musst du dich einmal ab- und wieder anmelden:
+
+```bash
+exit
+```
+
+Verbinde dich dann erneut per SSH:
+
+```bash
+ssh pi@filaman.local
+```
+
+### Installation überprüfen
+
+Prüfe, ob Docker korrekt installiert ist:
+
+```bash
+docker --version
+```
+
+Erwartete Ausgabe (Versionsnummer kann abweichen):
+
+```
+Docker version 27.x.x, build xxxxxxx
+```
+
+Prüfe auch Docker Compose:
+
+```bash
+docker compose version
+```
+
+Erwartete Ausgabe:
+
+```
+Docker Compose version v2.x.x
+```
+
+> Wenn beide Befehle eine Versionsnummer anzeigen, ist Docker fertig installiert.
+
+---
+
+## 20.6 FilaMan einrichten
+
+Jetzt erstellen wir die Konfigurationsdateien für FilaMan.
+
+### Verzeichnis erstellen
+
+```bash
+mkdir ~/filaman && cd ~/filaman
+```
+
+### Sichere Schlüssel generieren
+
+FilaMan benötigt zwei geheime Schlüssel für die Sicherheit. Generiere diese mit folgendem Befehl:
+
+```bash
+echo "SECRET_KEY: $(openssl rand -hex 32)"
+echo "CSRF_SECRET_KEY: $(openssl rand -hex 32)"
+```
+
+> **Wichtig:** Kopiere die beiden ausgegebenen Schlüssel und bewahre sie auf. Du brauchst sie gleich für die `.env`-Datei.
+
+Die Ausgabe sieht ungefähr so aus:
+
+```
+SECRET_KEY: 3a7f2b1e9c4d8f6a5e2b1c7d9f3a8e6b4c1d7f2a9e5b3c8d6f4a1e7b2c9d5f
+CSRF_SECRET_KEY: 8e2f4a6c1d9b7e3f5a2c8d4b6e1f9a7c3d5b8e2f4a6c1d9b7e3f5a2c8d4b6e
+```
+
+### Konfigurationsdatei erstellen (.env)
+
+Erstelle die `.env`-Datei mit den Einstellungen für FilaMan:
+
+```bash
+nano .env
+```
+
+Füge folgenden Inhalt ein und **passe die markierten Stellen an**:
+
+```env
+# ===========================================
+# Datenbank-Konfiguration
+# ===========================================
+# SQLite (Standard - empfohlen für Raspberry Pi)
+DATABASE_URL=sqlite+aiosqlite:////app/data/filaman.db
+
+# ===========================================
+# Sicherheit
+# ===========================================
+# WICHTIG: Ersetze diese durch deine generierten Schlüssel!
+SECRET_KEY=HIER_DEINEN_GENERIERTEN_SECRET_KEY_EINFUEGEN
+CSRF_SECRET_KEY=HIER_DEINEN_GENERIERTEN_CSRF_SECRET_KEY_EINFUEGEN
+
+# ===========================================
+# Administrator-Konto
+# ===========================================
+# Diese Daten werden beim ersten Start zum Erstellen des Admin-Kontos verwendet
+ADMIN_EMAIL=admin@example.com
+ADMIN_PASSWORD=MeinSicheresPasswort123!
+ADMIN_DISPLAY_NAME=Admin
+ADMIN_LANGUAGE=de
+ADMIN_SUPERADMIN=true
+
+# ===========================================
+# Anwendungseinstellungen
+# ===========================================
+DEBUG=false
+CORS_ORIGINS=*
+PORT=8000
+
+# ===========================================
+# Logging
+# ===========================================
+LOG_LEVEL=INFO
+LOG_FORMAT=text
+```
+
+> **Erklärung der Einstellungen:**
+>
+> | Einstellung | Beschreibung |
+> |---|---|
+> | `DATABASE_URL` | Datenbank-Verbindung. Die Standard-SQLite-Datenbank wird im Container unter `/app/data/` gespeichert und automatisch gesichert. |
+> | `SECRET_KEY` | Geheimer Schlüssel für die Verschlüsselung von Sitzungen. **Muss** durch deinen generierten Schlüssel ersetzt werden! |
+> | `CSRF_SECRET_KEY` | Geheimer Schlüssel für den CSRF-Schutz. **Muss** durch deinen generierten Schlüssel ersetzt werden! |
+> | `ADMIN_EMAIL` | E-Mail-Adresse für den ersten Administrator. Damit meldest du dich an. |
+> | `ADMIN_PASSWORD` | Passwort für den Administrator. **Wähle ein sicheres Passwort!** Mindestens 8 Zeichen. |
+> | `ADMIN_DISPLAY_NAME` | Anzeigename des Administrators in der Oberfläche. |
+> | `ADMIN_LANGUAGE` | Sprache der Oberfläche (`de` für Deutsch, `en` für Englisch). |
+> | `ADMIN_SUPERADMIN` | Gibt dem ersten Benutzer volle Administratorrechte. |
+> | `DEBUG` | Debug-Modus. Für den normalen Betrieb auf `false` lassen. |
+> | `CORS_ORIGINS` | Erlaubte Herkunftsdomains für API-Anfragen. `*` erlaubt alle. |
+> | `PORT` | Externer Port, über den FilaMan erreichbar ist. Standard: `8000`. |
+> | `LOG_LEVEL` | Detailgrad der Log-Ausgaben (`INFO`, `DEBUG`, `WARNING`, `ERROR`). |
+> | `LOG_FORMAT` | Format der Logs (`text` oder `json`). |
+
+Speichere die Datei mit **Strg+O**, **Enter** und schließe den Editor mit **Strg+X**.
+
+### Docker Compose-Datei erstellen
+
+```bash
+nano docker-compose.yml
+```
+
+Füge folgenden Inhalt ein:
+
+```yaml
+services:
+ filaman-system-app:
+ image: ghcr.io/fire-devils/filaman-system:latest
+ container_name: filaman-system-app
+ env_file:
+ - .env
+ environment:
+ - DATABASE_URL=${DATABASE_URL}
+ - SECRET_KEY=${SECRET_KEY}
+ - CSRF_SECRET_KEY=${CSRF_SECRET_KEY}
+ - DEBUG=${DEBUG}
+ - CORS_ORIGINS=${CORS_ORIGINS}
+ - ADMIN_EMAIL=${ADMIN_EMAIL}
+ - ADMIN_PASSWORD=${ADMIN_PASSWORD}
+ - ADMIN_DISPLAY_NAME=${ADMIN_DISPLAY_NAME}
+ - ADMIN_LANGUAGE=${ADMIN_LANGUAGE}
+ - ADMIN_SUPERADMIN=${ADMIN_SUPERADMIN}
+ volumes:
+ - filaman_data:/app/data
+ restart: unless-stopped
+ ports:
+ - "${PORT}:8000"
+ healthcheck:
+ test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
+ interval: 30s
+ timeout: 5s
+ start_period: 15s
+ retries: 3
+
+volumes:
+ filaman_data:
+```
+
+Speichere die Datei mit **Strg+O**, **Enter** und schließe den Editor mit **Strg+X**.
+
+---
+
+## 20.7 FilaMan starten
+
+Jetzt ist alles vorbereitet. Starte FilaMan mit:
+
+```bash
+docker compose up -d
+```
+
+> **Was passiert hier?**
+> - `docker compose up` = Startet die in `docker-compose.yml` definierten Container
+> - `-d` = Im Hintergrund (detached) laufen lassen
+
+Beim ersten Start wird das Docker-Image heruntergeladen (ca. 200--400 MB). Das kann je nach Internetverbindung einige Minuten dauern.
+
+### Logs prüfen
+
+Schau dir die Logs an, um zu überprüfen, ob alles korrekt startet:
+
+```bash
+docker compose logs -f
+```
+
+Du solltest ungefähr folgende Ausgaben sehen:
+
+```
+filaman-system-app | Checking for database migrations...
+filaman-system-app | Running migrations...
+filaman-system-app | Database migrations complete.
+filaman-system-app | Starting nginx...
+```
+
+> Drücke **Strg+C**, um die Log-Ansicht zu beenden (der Container läuft im Hintergrund weiter).
+
+### Status prüfen
+
+```bash
+docker compose ps
+```
+
+Wenn alles funktioniert, siehst du:
+
+```
+NAME STATUS PORTS
+filaman-system-app Up X minutes (healthy) 0.0.0.0:8000->8000/tcp
+```
+
+> Der Status sollte nach ca. 30 Sekunden auf `(healthy)` wechseln.
+
+---
+
+## 20.8 FilaMan im Browser aufrufen
+
+FilaMan ist jetzt bereit! Öffne einen Browser auf deinem PC und rufe folgende Adresse auf:
+
+```
+http://filaman.local:8000
+```
+
+Oder verwende die IP-Adresse deines Raspberry Pi:
+
+```
+http://192.168.1.42:8000
+```
+
+> **Tipp:** Die IP-Adresse deines Pi findest du mit folgendem Befehl (auf dem Pi per SSH):
+> ```bash
+> hostname -I
+> ```
+
+### Erste Anmeldung
+
+Du siehst die Login-Seite von FilaMan. Melde dich mit den Zugangsdaten an, die du in der `.env`-Datei festgelegt hast:
+
+- **E-Mail:** Die `ADMIN_EMAIL` aus deiner `.env` (z. B. `admin@example.com`)
+- **Passwort:** Das `ADMIN_PASSWORD` aus deiner `.env`
+
+Nach der Anmeldung siehst du das **Dashboard** -- die Startseite von FilaMan.
+
+> Ausführliche Informationen zur Anmeldung findest du in der Dokumentation: [Anmeldung (Login)](https://docu.filaman.app/Docs/De/02-Anmeldung)
+
+---
+
+## 20.9 Erste Schritte nach der Installation
+
+Nachdem FilaMan läuft, empfiehlt es sich, die Daten in folgender Reihenfolge anzulegen:
+
+| Schritt | Was | Wo | Dokumentation |
+|---|---|---|---|
+| 1 | **Hersteller anlegen** | Menü → Manufacturers | [Hersteller](https://docu.filaman.app/Docs/De/05-Hersteller) |
+| 2 | **Farben definieren** | Menü → Filaments → „Manage Colors" | [Farbverwaltung](https://docu.filaman.app/Docs/De/12-Farbverwaltung) |
+| 3 | **Filamente erstellen** | Menü → Filaments → „Add Filament" | [Filamente](https://docu.filaman.app/Docs/De/06-Filamente) |
+| 4 | **Lagerorte einrichten** | Menü → Locations → „Add Location" | [Lagerorte](https://docu.filaman.app/Docs/De/08-Lagerorte) |
+| 5 | **Spulen erfassen** | Menü → Spools → „Add Spool" | [Spulen](https://docu.filaman.app/Docs/De/07-Spulen) |
+| 6 | **Drucker verbinden** (optional) | Menü → Printers → „Add Printer" | [Drucker](https://docu.filaman.app/Docs/De/09-Drucker) |
+
+> **Tipp:** Du kannst alternativ auch Filamente aus der SpoolmanDB importieren, anstatt alles manuell anzulegen. Installiere dazu das SpoolmanDB-Plugin (siehe nächstes Kapitel).
+
+---
+
+## 20.10 Plugins installieren
+
+FilaMan lässt sich über Plugins erweitern. Die Installation erfolgt bequem über die Weboberfläche.
+
+### Plugin installieren
+
+1. Gehe zu **Admin Panel** → **System**
+2. Klicke auf **„Install Plugin"**
+3. Wähle im Dropdown **„Install from Registry"** das gewünschte Plugin aus
+4. Klicke auf **„Install Plugin"**
+5. Das Plugin wird automatisch heruntergeladen und installiert
+
+### Verfügbare Plugins
+
+| Plugin | Typ | Beschreibung | Dokumentation |
+|---|---|---|---|
+| **BambuLab** | Driver | Anbindung von BambuLab-Druckern (AMS, Filament-Sync) | [Plugin: BambuLab](https://docu.filaman.app/Docs/De/14-Plugin-Bambulab) |
+| **SpoolmanDB Import** | Import | Filamente aus der SpoolmanDB-Datenbank importieren | [Plugin: SpoolmanDB](https://docu.filaman.app/Docs/De/15-Plugin-Spoolmandb) |
+| **Spoolman API** | Import | Spoolman-kompatible API für externe Tools | [Plugin: Spoolman API](https://docu.filaman.app/Docs/De/16-Plugin-Spoolmanapi) |
+| **Bambuddy** | Integration | Bambuddy-Integration für Inventory-Sync | [Plugin: Bambuddy](https://docu.filaman.app/Docs/De/17-Plugin-Bambuddy) |
+
+> Ausführliche Informationen zur Plugin-Verwaltung: [Admin-Bereich](https://docu.filaman.app/Docs/De/11-Admin#115-system-plugin-verwaltung)
+
+---
+
+## 20.11 FilaMan aktualisieren
+
+Um FilaMan auf die neueste Version zu aktualisieren, führe auf dem Raspberry Pi folgende Befehle aus:
+
+```bash
+cd ~/filaman
+docker compose pull
+docker compose up -d
+```
+
+> **Was passiert beim Update?**
+> 1. `docker compose pull` lädt die neueste Version des Docker-Images herunter
+> 2. `docker compose up -d` startet den Container mit der neuen Version neu
+> 3. Beim Start wird automatisch ein **Backup der Datenbank** erstellt
+> 4. Anschließend werden automatisch alle nötigen **Datenbank-Migrationen** durchgeführt
+>
+> Deine Daten bleiben vollständig erhalten!
+
+---
+
+## 20.12 Nützliche Befehle
+
+Hier eine Übersicht der wichtigsten Docker-Befehle für den täglichen Betrieb:
+
+### Container verwalten
+
+```bash
+# In das FilaMan-Verzeichnis wechseln
+cd ~/filaman
+
+# Container stoppen
+docker compose stop
+
+# Container starten
+docker compose start
+
+# Container neu starten
+docker compose restart
+
+# Container stoppen und entfernen (Daten bleiben erhalten!)
+docker compose down
+
+# Container erstellen und starten
+docker compose up -d
+```
+
+### Logs ansehen
+
+```bash
+# Alle Logs anzeigen (fortlaufend)
+docker compose logs -f
+
+# Nur die letzten 100 Zeilen
+docker compose logs --tail 100
+
+# Logs seit einem bestimmten Zeitpunkt
+docker compose logs --since 1h
+```
+
+### Container-Status prüfen
+
+```bash
+# Status aller Container
+docker compose ps
+
+# Detaillierte Container-Infos
+docker inspect filaman-system-app
+```
+
+### Administrator-Passwort zurücksetzen
+
+Falls du dein Passwort vergessen hast:
+
+```bash
+docker exec -it filaman-system-app python -m app.cli reset-password admin@example.com
+```
+
+> Ersetze `admin@example.com` durch deine tatsächliche Admin-E-Mail-Adresse. Du wirst zweimal nach dem neuen Passwort gefragt.
+
+### Daten und Backups
+
+Die FilaMan-Daten werden in einem Docker-Volume gespeichert. Automatische SQLite-Backups werden unter `/app/data/backups` im Container erstellt.
+
+```bash
+# Backup-Verzeichnis im Container anzeigen
+docker exec filaman-system-app ls -la /app/data/backups/
+```
+
+> Backups können auch über die Weboberfläche unter **Admin Panel → Database Backup** verwaltet werden. Siehe: [Datenbank-Backup](https://docu.filaman.app/Docs/De/11-Admin#116-datenbank-backup-wiederherstellung)
+
+---
+
+## 20.13 Fehlerbehebung
+
+### Container startet nicht
+
+Prüfe die Logs auf Fehlermeldungen:
+
+```bash
+docker compose logs
+```
+
+Häufige Ursachen:
+- **Fehlende oder ungültige `.env`-Datei** -- Prüfe ob alle Pflichtfelder gesetzt sind
+- **Syntaxfehler in `docker-compose.yml`** -- Achte auf korrekte Einrückung (Leerzeichen, keine Tabs)
+
+### Port bereits belegt
+
+Falls Port 8000 bereits von einem anderen Dienst verwendet wird:
+
+1. Öffne die `.env`-Datei:
+ ```bash
+ nano ~/filaman/.env
+ ```
+2. Ändere den Port, z. B.:
+ ```
+ PORT=8080
+ ```
+3. Starte den Container neu:
+ ```bash
+ cd ~/filaman
+ docker compose down
+ docker compose up -d
+ ```
+4. FilaMan ist dann unter `http://filaman.local:8080` erreichbar
+
+### Zugriff von einem anderen Gerät nicht möglich
+
+- Stelle sicher, dass PC und Raspberry Pi im **selben Netzwerk** sind
+- Verwende die **IP-Adresse** statt des Hostnamens (`http://192.168.x.x:8000`)
+- Prüfe, ob eine Firewall auf dem Pi den Port blockiert:
+ ```bash
+ sudo ufw status
+ ```
+ Falls aktiv, Port freigeben:
+ ```bash
+ sudo ufw allow 8000/tcp
+ ```
+
+### Passwort vergessen
+
+Siehe [Administrator-Passwort zurücksetzen](#administrator-passwort-zurücksetzen) oben oder in der Dokumentation: [Tipps & Häufige Fragen](https://docu.filaman.app/Docs/De/13-Faq#ich-habe-mein-admin-passwort-vergessen-was-tun)
+
+### Datenbank-Probleme
+
+Wenn die Datenbank beschädigt ist, kannst du ein Backup wiederherstellen:
+
+1. Über die Weboberfläche: **Admin Panel → Database Backup → SQLite-Backups → Restore**
+2. Oder manuell per Kommandozeile:
+ ```bash
+ # Verfügbare Backups anzeigen
+ docker exec filaman-system-app ls -la /app/data/backups/
+ ```
+
+> Detaillierte Informationen zur Backup-Wiederherstellung: [Datenbank-Backup](https://docu.filaman.app/Docs/De/11-Admin#116-datenbank-backup-wiederherstellung)
+
+---
+
+## 20.14 Weiterführende Links
+
+| Ressource | Link |
+|---|---|
+| **FilaMan Dokumentation (Deutsch)** | [docu.filaman.app/Docs/De/00-Inhalt](https://docu.filaman.app/Docs/De/00-Inhalt) |
+| **FilaMan Dokumentation (Englisch)** | [docu.filaman.app/Docs/En/00-Contents](https://docu.filaman.app/Docs/En/00-Contents) |
+| **GitHub: FilaMan System** | [github.com/Fire-Devils/filaman-system](https://github.com/Fire-Devils/filaman-system) |
+| **GitHub: FilaMan Plugins** | [github.com/Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins) |
+| **GitHub: FilaMan ESP32** | [github.com/Fire-Devils/FilaMan-System-ESP32](https://github.com/Fire-Devils/FilaMan-System-ESP32) |
+| **Docker Hub Image** | [ghcr.io/fire-devils/filaman-system](https://github.com/Fire-Devils/filaman-system/pkgs/container/filaman-system) |
+
+---
+
+← [Zurück: Plugin: Bambuddy](/Docs/De/17-Plugin-Bambuddy) | [Zurück zum Inhaltsverzeichnis](/Docs/De/00-Inhalt)
+
+---
+
+*Diese Anleitung wurde für FilaMan erstellt. Für technische Fragen oder Probleme wenden Sie sich an Ihren Systemadministrator.*
docs/en/00-contents.md ..
@@ 29,6 29,7 @@
| 15 | [Plugin: SpoolmanDB Import](/Docs/En/15-Plugin-Spoolmandb) | Import filaments from the SpoolmanDB database |
| 16 | [Plugin: Spoolman API](/Docs/En/16-Plugin-Spoolmanapi) | Spoolman-compatible API for external tools |
| 17 | [Plugin: Bambuddy](/Docs/En/17-Plugin-Bambuddy) | Bambuddy integration: inventory sync and consumption reporting |
+| 20 | [Installation on Raspberry Pi](/Docs/En/20-Installation-Raspberry-Pi) | Step-by-step guide for beginners |
---
/dev/null .. docs/en/20-installation-raspberry-pi.md
@@ 0,0 1,691 @@
+# 20. Installation on Raspberry Pi
+
+This guide is aimed at **absolute beginners** and explains step by step how to install FilaMan on a Raspberry Pi. No prior knowledge is required -- just a Raspberry Pi, a PC, and a little patience.
+
+---
+
+## 20.1 What You Need (Prerequisites)
+
+### Hardware
+
+| Component | Recommendation | Note |
+|---|---|---|
+| **Raspberry Pi** | Model 3B+, 4, or 5 | Older models (Pi 1/2/Zero) are too underpowered |
+| **Power Supply** | Official Raspberry Pi power supply | USB-C (Pi 4/5) or Micro-USB (Pi 3B+) |
+| **microSD Card** | At least 16 GB, recommended 32 GB | Class 10 or faster |
+| **Network** | Ethernet cable or Wi-Fi | Ethernet is more stable and recommended |
+| **Case** (optional) | Any Pi case | Protects the Pi and improves cooling |
+
+### Software (on your PC)
+
+- **Raspberry Pi Imager** -- for writing the OS to the SD card ([Download here](https://www.raspberrypi.com/software/))
+- **SSH Client** -- for connecting to the Pi:
+ - **Windows:** [PuTTY](https://www.putty.org/) or the built-in Windows Terminal (Windows 10+)
+ - **macOS / Linux:** Terminal (already pre-installed)
+
+### Network
+
+- The Raspberry Pi and your PC must be on the **same network** (same Wi-Fi or connected to the same router via cable)
+
+---
+
+## 20.2 Install Raspberry Pi OS
+
+The operating system for the Raspberry Pi is written to a microSD card. The easiest way to do this is with the **Raspberry Pi Imager**.
+
+### Step 1: Download Raspberry Pi Imager
+
+Download the Imager from the official website and install it on your PC:
+
+> https://www.raspberrypi.com/software/
+
+### Step 2: Open Imager and Configure
+
+1. Insert the **microSD card** into your PC (using an SD card reader if needed)
+2. Open the **Raspberry Pi Imager**
+3. Click **"Choose Device"** and select your Raspberry Pi model
+4. Click **"Choose OS"** and select:
+ - **Raspberry Pi OS (other)** → **Raspberry Pi OS Lite (64-bit)**
+
+ > **Why "Lite"?** The Lite variant has no graphical desktop and uses fewer resources. FilaMan is a web application -- you access it through your PC's browser, not on the Pi itself.
+
+5. Click **"Choose Storage"** and select your microSD card
+
+ > **Warning:** All data on the SD card will be erased!
+
+### Step 3: Configure Advanced Settings
+
+Click **"Next"** and then **"Edit Settings"**. Here you configure important basic settings:
+
+**"General" tab:**
+
+| Setting | Recommendation | Explanation |
+|---|---|---|
+| **Hostname** | `filaman` | The Pi will be reachable on your network under this name |
+| **Username** | `pi` | Your username for logging into the Pi |
+| **Password** | A secure password | Remember this password well! |
+| **Configure Wi-Fi** | Your Wi-Fi name and password | Only needed if you're not using an Ethernet cable |
+| **Locale settings** | Your timezone and keyboard layout | e.g. Europe/London, us |
+
+**"Services" tab:**
+
+- Check the box for **"Enable SSH"**
+- Select **"Use password authentication"**
+
+> **What is SSH?** SSH (Secure Shell) allows you to remotely control the Raspberry Pi from your PC via the command line -- without needing a monitor connected to the Pi.
+
+Click **"Save"** and then **"Yes"** to write the OS to the SD card.
+
+### Step 4: Boot the Raspberry Pi
+
+1. Wait until the writing process is complete
+2. Safely remove the microSD card from your PC
+3. Insert the microSD card into the Raspberry Pi
+4. Connect the Ethernet cable (if using wired networking)
+5. Connect the power supply -- the Pi will start automatically
+6. Wait approximately **1--2 minutes** for the Pi to fully boot up
+
+---
+
+## 20.3 Connect to the Raspberry Pi (SSH)
+
+Now you'll connect to the Raspberry Pi from your PC.
+
+### Find the IP Address
+
+You need the IP address of your Raspberry Pi. There are several ways to find it:
+
+**Option A: Using the hostname (easiest method)**
+
+If you set the hostname to `filaman`, try:
+
+```bash
+ping filaman.local
+```
+
+The response will show you the IP address (e.g. `192.168.1.42`).
+
+**Option B: Check your router**
+
+1. Open your router's web interface (usually `192.168.1.1` or `192.168.0.1`)
+2. Look for "filaman" or "raspberrypi" in the device list
+3. Note the displayed IP address
+
+**Option C: Scan the network**
+
+On your PC you can alternatively use this command:
+
+```bash
+# macOS / Linux:
+arp -a | grep raspberry
+
+# Windows (PowerShell):
+arp -a
+```
+
+### Establish SSH Connection
+
+**macOS / Linux (Terminal):**
+
+```bash
+ssh pi@filaman.local
+```
+
+Or using the IP address:
+
+```bash
+ssh pi@192.168.1.42
+```
+
+> Replace `192.168.1.42` with the actual IP address of your Pi.
+
+When connecting for the first time, you'll be asked whether you trust this host. Type `yes` and press Enter. Then enter the password you set in the Raspberry Pi Imager.
+
+**Windows (PuTTY):**
+
+1. Open PuTTY
+2. Enter in **Host Name**: `filaman.local` (or the IP address)
+3. Port: `22`
+4. Click **"Open"**
+5. Username: `pi`
+6. Password: Your chosen password
+
+> **Tip:** Starting with Windows 10, you can also use the **Windows Terminal** or **Command Prompt** and use the same `ssh` command as on macOS/Linux.
+
+**When connected**, you'll see a command prompt like:
+
+```
+pi@filaman:~ $
+```
+
+You're now logged into the Raspberry Pi.
+
+---
+
+## 20.4 Update the System
+
+Before installing FilaMan, let's bring the operating system up to date:
+
+```bash
+sudo apt update && sudo apt upgrade -y
+```
+
+> **What's happening here?**
+> - `sudo` = run the command with administrator privileges
+> - `apt update` = refresh the list of available software packages
+> - `apt upgrade -y` = upgrade all packages to the latest version (`-y` = confirm automatically)
+
+This may take a few minutes. Wait until the process is complete.
+
+---
+
+## 20.5 Install Docker
+
+FilaMan runs in a **Docker container**. Docker is software that runs applications in isolated packages (called containers). The advantage is that you don't need to worry about dependencies or configuration -- everything is bundled in the container.
+
+### Install Docker
+
+Run the following command:
+
+```bash
+curl -fsSL https://get.docker.com | sh
+```
+
+> This command downloads the official Docker installation script and executes it. The installation takes about 2--5 minutes.
+
+### Add Your User to the Docker Group
+
+So you can run Docker commands without `sudo`:
+
+```bash
+sudo usermod -aG docker pi
+```
+
+> Replace `pi` with your username if you chose a different one.
+
+### Log Out and Log Back In
+
+For the group change to take effect, you need to log out and back in:
+
+```bash
+exit
+```
+
+Then reconnect via SSH:
+
+```bash
+ssh pi@filaman.local
+```
+
+### Verify the Installation
+
+Check that Docker is correctly installed:
+
+```bash
+docker --version
+```
+
+Expected output (version number may vary):
+
+```
+Docker version 27.x.x, build xxxxxxx
+```
+
+Also check Docker Compose:
+
+```bash
+docker compose version
+```
+
+Expected output:
+
+```
+Docker Compose version v2.x.x
+```
+
+> If both commands show a version number, Docker is ready to go.
+
+---
+
+## 20.6 Set Up FilaMan
+
+Now we'll create the configuration files for FilaMan.
+
+### Create a Directory
+
+```bash
+mkdir ~/filaman && cd ~/filaman
+```
+
+### Generate Secure Keys
+
+FilaMan requires two secret keys for security. Generate them with the following command:
+
+```bash
+echo "SECRET_KEY: $(openssl rand -hex 32)"
+echo "CSRF_SECRET_KEY: $(openssl rand -hex 32)"
+```
+
+> **Important:** Copy the two generated keys and save them. You'll need them shortly for the `.env` file.
+
+The output looks something like this:
+
+```
+SECRET_KEY: 3a7f2b1e9c4d8f6a5e2b1c7d9f3a8e6b4c1d7f2a9e5b3c8d6f4a1e7b2c9d5f
+CSRF_SECRET_KEY: 8e2f4a6c1d9b7e3f5a2c8d4b6e1f9a7c3d5b8e2f4a6c1d9b7e3f5a2c8d4b6e
+```
+
+### Create Configuration File (.env)
+
+Create the `.env` file with the settings for FilaMan:
+
+```bash
+nano .env
+```
+
+Paste the following content and **adjust the marked sections**:
+
+```env
+# ===========================================
+# Database Configuration
+# ===========================================
+# SQLite (default - recommended for Raspberry Pi)
+DATABASE_URL=sqlite+aiosqlite:////app/data/filaman.db
+
+# ===========================================
+# Security
+# ===========================================
+# IMPORTANT: Replace these with your generated keys!
+SECRET_KEY=PASTE_YOUR_GENERATED_SECRET_KEY_HERE
+CSRF_SECRET_KEY=PASTE_YOUR_GENERATED_CSRF_SECRET_KEY_HERE
+
+# ===========================================
+# Administrator Account
+# ===========================================
+# These credentials are used to create the admin account on first start
+ADMIN_EMAIL=admin@example.com
+ADMIN_PASSWORD=MySecurePassword123!
+ADMIN_DISPLAY_NAME=Admin
+ADMIN_LANGUAGE=en
+ADMIN_SUPERADMIN=true
+
+# ===========================================
+# Application Settings
+# ===========================================
+DEBUG=false
+CORS_ORIGINS=*
+PORT=8000
+
+# ===========================================
+# Logging
+# ===========================================
+LOG_LEVEL=INFO
+LOG_FORMAT=text
+```
+
+> **Explanation of settings:**
+>
+> | Setting | Description |
+> |---|---|
+> | `DATABASE_URL` | Database connection string. The default SQLite database is stored inside the container at `/app/data/` and is backed up automatically. |
+> | `SECRET_KEY` | Secret key for session encryption. **Must** be replaced with your generated key! |
+> | `CSRF_SECRET_KEY` | Secret key for CSRF protection. **Must** be replaced with your generated key! |
+> | `ADMIN_EMAIL` | Email address for the first administrator. This is your login name. |
+> | `ADMIN_PASSWORD` | Password for the administrator. **Choose a secure password!** At least 8 characters. |
+> | `ADMIN_DISPLAY_NAME` | Display name of the administrator in the UI. |
+> | `ADMIN_LANGUAGE` | UI language (`en` for English, `de` for German). |
+> | `ADMIN_SUPERADMIN` | Grants the first user full administrator rights. |
+> | `DEBUG` | Debug mode. Leave at `false` for normal operation. |
+> | `CORS_ORIGINS` | Allowed origin domains for API requests. `*` allows all. |
+> | `PORT` | External port on which FilaMan is accessible. Default: `8000`. |
+> | `LOG_LEVEL` | Detail level of log output (`INFO`, `DEBUG`, `WARNING`, `ERROR`). |
+> | `LOG_FORMAT` | Log format (`text` or `json`). |
+
+Save the file with **Ctrl+O**, **Enter**, and close the editor with **Ctrl+X**.
+
+### Create Docker Compose File
+
+```bash
+nano docker-compose.yml
+```
+
+Paste the following content:
+
+```yaml
+services:
+ filaman-system-app:
+ image: ghcr.io/fire-devils/filaman-system:latest
+ container_name: filaman-system-app
+ env_file:
+ - .env
+ environment:
+ - DATABASE_URL=${DATABASE_URL}
+ - SECRET_KEY=${SECRET_KEY}
+ - CSRF_SECRET_KEY=${CSRF_SECRET_KEY}
+ - DEBUG=${DEBUG}
+ - CORS_ORIGINS=${CORS_ORIGINS}
+ - ADMIN_EMAIL=${ADMIN_EMAIL}
+ - ADMIN_PASSWORD=${ADMIN_PASSWORD}
+ - ADMIN_DISPLAY_NAME=${ADMIN_DISPLAY_NAME}
+ - ADMIN_LANGUAGE=${ADMIN_LANGUAGE}
+ - ADMIN_SUPERADMIN=${ADMIN_SUPERADMIN}
+ volumes:
+ - filaman_data:/app/data
+ restart: unless-stopped
+ ports:
+ - "${PORT}:8000"
+ healthcheck:
+ test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
+ interval: 30s
+ timeout: 5s
+ start_period: 15s
+ retries: 3
+
+volumes:
+ filaman_data:
+```
+
+Save the file with **Ctrl+O**, **Enter**, and close the editor with **Ctrl+X**.
+
+---
+
+## 20.7 Start FilaMan
+
+Everything is set up. Start FilaMan with:
+
+```bash
+docker compose up -d
+```
+
+> **What's happening here?**
+> - `docker compose up` = starts the containers defined in `docker-compose.yml`
+> - `-d` = run in the background (detached mode)
+
+On first start, the Docker image will be downloaded (approx. 200--400 MB). This may take a few minutes depending on your internet connection.
+
+### Check the Logs
+
+Review the logs to verify everything starts correctly:
+
+```bash
+docker compose logs -f
+```
+
+You should see output similar to:
+
+```
+filaman-system-app | Checking for database migrations...
+filaman-system-app | Running migrations...
+filaman-system-app | Database migrations complete.
+filaman-system-app | Starting nginx...
+```
+
+> Press **Ctrl+C** to exit the log view (the container continues running in the background).
+
+### Check Status
+
+```bash
+docker compose ps
+```
+
+If everything works, you'll see:
+
+```
+NAME STATUS PORTS
+filaman-system-app Up X minutes (healthy) 0.0.0.0:8000->8000/tcp
+```
+
+> The status should change to `(healthy)` after approximately 30 seconds.
+
+---
+
+## 20.8 Access FilaMan in the Browser
+
+FilaMan is now ready! Open a browser on your PC and navigate to:
+
+```
+http://filaman.local:8000
+```
+
+Or use the IP address of your Raspberry Pi:
+
+```
+http://192.168.1.42:8000
+```
+
+> **Tip:** You can find your Pi's IP address with this command (on the Pi via SSH):
+> ```bash
+> hostname -I
+> ```
+
+### First Login
+
+You'll see the FilaMan login page. Sign in with the credentials you set in the `.env` file:
+
+- **Email:** The `ADMIN_EMAIL` from your `.env` (e.g. `admin@example.com`)
+- **Password:** The `ADMIN_PASSWORD` from your `.env`
+
+After signing in, you'll see the **Dashboard** -- FilaMan's home page.
+
+> For detailed information about the login process, see the documentation: [Login](https://docu.filaman.app/Docs/En/02-Login)
+
+---
+
+## 20.9 First Steps After Installation
+
+Once FilaMan is running, it's recommended to set up your data in the following order:
+
+| Step | What | Where | Documentation |
+|---|---|---|---|
+| 1 | **Create manufacturers** | Menu → Manufacturers | [Manufacturers](https://docu.filaman.app/Docs/En/05-Manufacturers) |
+| 2 | **Define colors** | Menu → Filaments → "Manage Colors" | [Color Management](https://docu.filaman.app/Docs/En/12-Colors) |
+| 3 | **Create filaments** | Menu → Filaments → "Add Filament" | [Filaments](https://docu.filaman.app/Docs/En/06-Filaments) |
+| 4 | **Set up locations** | Menu → Locations → "Add Location" | [Locations](https://docu.filaman.app/Docs/En/08-Locations) |
+| 5 | **Add spools** | Menu → Spools → "Add Spool" | [Spools](https://docu.filaman.app/Docs/En/07-Spools) |
+| 6 | **Connect printers** (optional) | Menu → Printers → "Add Printer" | [Printers](https://docu.filaman.app/Docs/En/09-Printers) |
+
+> **Tip:** Alternatively, you can import filaments from SpoolmanDB instead of creating everything manually. Install the SpoolmanDB plugin to do this (see next chapter).
+
+---
+
+## 20.10 Install Plugins
+
+FilaMan can be extended with plugins. Installation is done conveniently through the web interface.
+
+### Installing a Plugin
+
+1. Go to **Admin Panel** → **System**
+2. Click **"Install Plugin"**
+3. Select the desired plugin from the **"Install from Registry"** dropdown
+4. Click **"Install Plugin"**
+5. The plugin will be automatically downloaded and installed
+
+### Available Plugins
+
+| Plugin | Type | Description | Documentation |
+|---|---|---|---|
+| **BambuLab** | Driver | Connect BambuLab printers (AMS, filament sync) | [Plugin: BambuLab](https://docu.filaman.app/Docs/En/14-Plugin-Bambulab) |
+| **SpoolmanDB Import** | Import | Import filaments from the SpoolmanDB database | [Plugin: SpoolmanDB](https://docu.filaman.app/Docs/En/15-Plugin-Spoolmandb) |
+| **Spoolman API** | Import | Spoolman-compatible API for external tools | [Plugin: Spoolman API](https://docu.filaman.app/Docs/En/16-Plugin-Spoolmanapi) |
+| **Bambuddy** | Integration | Bambuddy integration for inventory sync | [Plugin: Bambuddy](https://docu.filaman.app/Docs/En/17-Plugin-Bambuddy) |
+
+> For detailed information about plugin management: [Admin Area](https://docu.filaman.app/Docs/En/11-Admin#115-system-plugin-management)
+
+---
+
+## 20.11 Update FilaMan
+
+To update FilaMan to the latest version, run the following commands on the Raspberry Pi:
+
+```bash
+cd ~/filaman
+docker compose pull
+docker compose up -d
+```
+
+> **What happens during an update?**
+> 1. `docker compose pull` downloads the latest version of the Docker image
+> 2. `docker compose up -d` restarts the container with the new version
+> 3. On startup, a **database backup** is automatically created
+> 4. Then all necessary **database migrations** are automatically applied
+>
+> Your data is fully preserved!
+
+---
+
+## 20.12 Useful Commands
+
+Here's an overview of the most important Docker commands for daily operation:
+
+### Manage Containers
+
+```bash
+# Navigate to the FilaMan directory
+cd ~/filaman
+
+# Stop containers
+docker compose stop
+
+# Start containers
+docker compose start
+
+# Restart containers
+docker compose restart
+
+# Stop and remove containers (data is preserved!)
+docker compose down
+
+# Create and start containers
+docker compose up -d
+```
+
+### View Logs
+
+```bash
+# Show all logs (continuously)
+docker compose logs -f
+
+# Show only the last 100 lines
+docker compose logs --tail 100
+
+# Show logs since a specific time
+docker compose logs --since 1h
+```
+
+### Check Container Status
+
+```bash
+# Status of all containers
+docker compose ps
+
+# Detailed container info
+docker inspect filaman-system-app
+```
+
+### Reset Administrator Password
+
+If you've forgotten your password:
+
+```bash
+docker exec -it filaman-system-app python -m app.cli reset-password admin@example.com
+```
+
+> Replace `admin@example.com` with your actual admin email address. You'll be prompted to enter the new password twice.
+
+### Data and Backups
+
+FilaMan data is stored in a Docker volume. Automatic SQLite backups are created under `/app/data/backups` inside the container.
+
+```bash
+# List backups inside the container
+docker exec filaman-system-app ls -la /app/data/backups/
+```
+
+> Backups can also be managed through the web interface under **Admin Panel → Database Backup**. See: [Database Backup](https://docu.filaman.app/Docs/En/11-Admin#116-database-backup-restore)
+
+---
+
+## 20.13 Troubleshooting
+
+### Container Won't Start
+
+Check the logs for error messages:
+
+```bash
+docker compose logs
+```
+
+Common causes:
+- **Missing or invalid `.env` file** -- Check that all required fields are set
+- **Syntax error in `docker-compose.yml`** -- Ensure correct indentation (spaces, not tabs)
+
+### Port Already in Use
+
+If port 8000 is already used by another service:
+
+1. Open the `.env` file:
+ ```bash
+ nano ~/filaman/.env
+ ```
+2. Change the port, e.g.:
+ ```
+ PORT=8080
+ ```
+3. Restart the container:
+ ```bash
+ cd ~/filaman
+ docker compose down
+ docker compose up -d
+ ```
+4. FilaMan will then be accessible at `http://filaman.local:8080`
+
+### Cannot Access from Another Device
+
+- Make sure your PC and Raspberry Pi are on the **same network**
+- Use the **IP address** instead of the hostname (`http://192.168.x.x:8000`)
+- Check if a firewall on the Pi is blocking the port:
+ ```bash
+ sudo ufw status
+ ```
+ If active, allow the port:
+ ```bash
+ sudo ufw allow 8000/tcp
+ ```
+
+### Forgotten Password
+
+See [Reset Administrator Password](#reset-administrator-password) above or in the documentation: [Tips & FAQ](https://docu.filaman.app/Docs/En/13-Faq#ive-forgotten-my-admin-password-what-now)
+
+### Database Issues
+
+If the database is corrupted, you can restore a backup:
+
+1. Via the web interface: **Admin Panel → Database Backup → SQLite Backups → Restore**
+2. Or manually via the command line:
+ ```bash
+ # List available backups
+ docker exec filaman-system-app ls -la /app/data/backups/
+ ```
+
+> For detailed information about backup recovery: [Database Backup](https://docu.filaman.app/Docs/En/11-Admin#116-database-backup-restore)
+
+---
+
+## 20.14 Further Links
+
+| Resource | Link |
+|---|---|
+| **FilaMan Documentation (English)** | [docu.filaman.app/Docs/En/00-Contents](https://docu.filaman.app/Docs/En/00-Contents) |
+| **FilaMan Documentation (German)** | [docu.filaman.app/Docs/De/00-Inhalt](https://docu.filaman.app/Docs/De/00-Inhalt) |
+| **GitHub: FilaMan System** | [github.com/Fire-Devils/filaman-system](https://github.com/Fire-Devils/filaman-system) |
+| **GitHub: FilaMan Plugins** | [github.com/Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins) |
+| **GitHub: FilaMan ESP32** | [github.com/Fire-Devils/FilaMan-System-ESP32](https://github.com/Fire-Devils/FilaMan-System-ESP32) |
+| **Docker Image** | [ghcr.io/fire-devils/filaman-system](https://github.com/Fire-Devils/filaman-system/pkgs/container/filaman-system) |
+
+---
+
+← [Back: Plugin: Bambuddy](/Docs/En/17-Plugin-Bambuddy) | [Back to Table of Contents](/Docs/En/00-Contents)
+
+---
+
+*This guide was created for FilaMan. For technical questions or issues, please contact your system administrator.*
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9