# 11. Admin-Bereich **URL:** `http(s)://url/admin`  > ⚠️ **Hinweis:** Der Admin-Bereich ist nur für Benutzer mit **Administrator-Rolle** sichtbar und zugänglich. Das Admin-Panel ist die zentrale Anlaufstelle für die **Systemadministration**. Es bietet Zugriff auf folgende Bereiche: | Kachel | Beschreibung | |--------|--------------| | **Users** | Benutzerverwaltung | | **Roles & Permissions** | Rollen und Berechtigungen | | **Devices** | Geräte-Token-Verwaltung | | **System Extra Fields** | Systemweite Zusatzfelder für Spulen und Filamente | | **System** | Plugins und Systemverwaltung | | **Database Backup** | Datenbank-Backups exportieren und wiederherstellen | | **OIDC / SSO** | OpenID Connect Single Sign-On Konfiguration | --- ## 11.1 Benutzerverwaltung (Users) **URL:** `http(s)://url/admin/users`  Hier können Administratoren alle Benutzer des Systems verwalten. Die Tabelle zeigt: | Spalte | Beschreibung | |--------|-------------| | **EMAIL** | E-Mail-Adresse des Benutzers (dient als Login) | | **DISPLAY NAME** | Anzeigename in der Anwendung | | **STATUS** | Aktiv / Inaktiv | | **ROLES** | Zugewiesene Rollen (z. B. Superadmin, User) | | **ACTIONS** | Edit / Reset PW | Verfügbare Aktionen: - **Add User** (oben rechts) – Neuen Benutzer mit E-Mail, Passwort und Rolle erstellen - **Edit** – E-Mail, Name oder Rolle eines Users ändern - **Reset PW** – Passwort eines Benutzers zurücksetzen --- ## 11.2 Rollen & Berechtigungen (Roles & Permissions) **URL:** `http(s)://url/admin/roles`  FilaMan enthält drei **Standard-Systemrollen**, die nicht gelöscht werden können: | Rolle | Kennung | Beschreibung | |-------|---------|--------------| | **Administrator** | `admin` | Vollzugriff auf alle Funktionen und den Admin-Bereich | | **User** | `user` | Standard-Benutzer mit Lese- und Schreibzugriff | | **Viewer** | `viewer` | Nur-Lese-Zugriff | Über **„Create Role"** (oben rechts) können eigene Rollen mit benutzerdefinierten Berechtigungen angelegt werden. Mit **„Edit Permissions"** lassen sich die Berechtigungen jeder Rolle granular anpassen. Klicken Sie auf eine Rolle, um die zugeordneten Berechtigungen im rechten Bereich (**Permissions**) einzusehen und zu bearbeiten. --- ## 11.3 Geräte (Devices) **URL:** `http(s)://url/admin/devices`  Hier werden **externe Geräte** verwaltet, die über die FilaMan-API kommunizieren (z. B. ESP32-Waagen mit RFID-Scanner). Jedes Gerät erhält einen eigenen API-Token für die Authentifizierung. ### Geräte-Aktionen - **Gerät hinzufügen** – Neues Gerät mit Name und optionalem Gerätecode erstellen - **Token erstellen** – Neuen API-Token für ein Gerät generieren - **Token widerrufen** – Zugang eines Geräts deaktivieren - **Bearbeiten** – Gerätename und Einstellungen ändern ### Auto-Assign Konfiguration Für jedes Gerät können folgende Einstellungen für die **automatische Spulenzuordnung** konfiguriert werden: | Einstellung | Beschreibung | |-------------|-------------| | **Auto-Assign aktiviert** | Wenn aktiviert, wird nach dem Wiegen einer Spule auf diesem Gerät automatisch ein Pending-Auftrag an alle verbundenen Drucker gesendet. Sobald die Spule in einen AMS-Slot eingelegt wird, werden die Filament-Einstellungen automatisch übertragen. | | **Auto-Assign Timeout** | Zeit in Sekunden, nach der ein ausstehender Zuordnungsauftrag automatisch verworfen wird (Standard: 60 Sekunden). Wenn innerhalb dieser Zeit keine Spule eingelegt wird, verfällt der Auftrag. | > **Hinweis:** Auto-Assign wird pro Gerät konfiguriert, nicht pro Drucker. Wenn Auto-Assign für ein Gerät aktiviert ist, werden ALLE verbundenen Drucker benachrichtigt. Die Zuordnung erfolgt dann automatisch bei dem Drucker, in den die Spule tatsächlich eingelegt wird. Weitere Informationen zum Ablauf: → [Drucker: Automatische Spulenzuordnung](/Docs/De/09-Drucker#automatische-spulenzuordnung-auto-assignment) --- ## 11.4 Zusatzfelder (Extra Fields) **URL:** `http(s)://url/admin/extra-fields`  Mit **System Extra Fields** können Administratoren zusätzliche Datenfelder für Spulen und Filamente definieren, die über die Standardfelder hinausgehen. Diese Felder werden automatisch zu allen Filamenten oder Spulen hinzugefügt. | Spalte | Beschreibung | |--------|-------------| | **TARGET TYPE** | Ob das Feld für Filamente oder Spulen gilt | | **KEY (JSON)** | Interner JSON-Schlüssel für das Feld | | **DISPLAY LABEL** | Anzeigetext in der Benutzeroberfläche | | **DEFAULT VALUE (OPTIONAL)** | Optionaler Standardwert | Klicken Sie auf **„Add Field"** (oben rechts), um ein neues Zusatzfeld zu erstellen. Beispiele für Zusatzfelder: - „Trocknungszeit" für Spulen - „Drucktemperatur" für Filamente - „Lieferant" als ergänzendes Herstellerfeld Wenn Zusatzfelder erstellt wurden, erscheinen diese als neue Eingabefelder in den entsprechenden Formularen (Spule hinzufügen, Filament hinzufügen). --- ## 11.5 System (Plugin-Verwaltung) **URL:** `http(s)://url/admin/system`  Der System-Bereich ist die zentrale Stelle für die **Plugin-Verwaltung**. Hier werden alle installierten Plugins angezeigt und verwaltet. ### Plugin-Übersicht Die Plugin-Tabelle zeigt alle installierten Plugins mit folgenden Spalten: | Spalte | Beschreibung | |--------|-------------| | **NAME** | Name und kurze Beschreibung des Plugins | | **VERSION** | Installierte Version (z. B. 2.1.10) | | **TYPE** | Art des Plugins: **Driver** (Druckertreiber), **Import** (Datenimport) oder **Integration** (Drittanbieter-Anbindung) | | **AUTHOR** | Autor des Plugins | | **STATUS** | Aktiviert/Deaktiviert — per Toggle-Schalter umschaltbar | || **ACTIONS** | Details / Aktualisieren (wenn Update verfügbar) / Öffnen / Deinstallieren | ### Plugin installieren Klicken Sie auf **„Install Plugin"** oben rechts. Es öffnet sich ein Dialog mit zwei Installationsmöglichkeiten: #### Option 1: Aus der Plugin-Registry installieren (empfohlen) 1. Im Dropdown **„Install from Registry"** werden alle verfügbaren Plugins angezeigt 2. Die Liste wird automatisch aus dem offiziellen Plugin-Repository ([Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins)) auf GitHub geladen 3. Wählen Sie das gewünschte Plugin aus dem Dropdown — Name, Version und Beschreibung werden angezeigt 4. Klicken Sie auf **„Install Plugin"** um die Installation zu starten 5. FilaMan lädt das Plugin automatisch herunter, validiert es und installiert es #### Option 2: ZIP-Datei manuell hochladen 1. Unterhalb des Registry-Dropdowns befindet sich der Bereich **„Plugin ZIP File"** 2. Ziehen Sie eine `.zip`-Datei per **Drag & Drop** in den markierten Bereich — oder klicken Sie darauf, um eine Datei auszuwählen 3. Die Datei wird automatisch validiert (Struktur, Manifest, Sicherheit) 4. Bei erfolgreicher Validierung erscheint eine Bestätigung mit Plugin-Details 5. Klicken Sie auf **„Install Plugin"** um die Installation abzuschließen > **Hinweis:** Manuelle ZIP-Uploads sind für Entwickler oder für Plugins gedacht, die noch nicht in der offiziellen Registry verfügbar sind. ### Updates prüfen Klicken Sie auf **„Check for Updates"** oben rechts neben dem Install-Button. - FilaMan vergleicht die installierten Plugin-Versionen mit den neuesten Versionen in der Registry - Wenn Updates verfügbar sind, wird eine Benachrichtigung mit der Anzahl der verfügbaren Updates angezeigt - Jedes Plugin mit verfügbarem Update erhält in der Plugin-Tabelle einen **Update-Button** mit der neuen Versionsnummer - Klicken Sie auf diesen Button, um das jeweilige Plugin direkt auf die neueste Version zu aktualisieren ### Plugin aktivieren / deaktivieren Jedes Plugin kann über den **Toggle-Schalter** in der Status-Spalte aktiviert oder deaktiviert werden: - **Aktiviert** — Das Plugin ist aktiv und seine Funktionen stehen zur Verfügung (z. B. Druckertreiber werden geladen) - **Deaktiviert** — Das Plugin bleibt installiert, ist aber inaktiv. Bereits verbundene Drucker werden getrennt ### Plugin deinstallieren 1. Klicken Sie auf **„Uninstall"** in der Actions-Spalte des Plugins 2. Bestätigen Sie die Deinstallation im Bestätigungsdialog 3. Es erscheint eine zusätzliche Abfrage, ob auch die **Plugin-Daten** (z. B. Zusatzfelder, Drucker-Parameter) gelöscht werden sollen: - **Ja** — Entfernt das Plugin und alle zugehörigen Daten (Zusatzfelder, gespeicherte Parameter) - **Nein** — Entfernt nur das Plugin, die Daten bleiben erhalten (nützlich bei Neuinstallation) ### Plugin-Details Klicken Sie auf **„Details"** um ausführliche Informationen zu einem Plugin anzuzeigen: - Plugin-Name, Version und Beschreibung - Plugin-Typ (Driver / Import / Integration) - Autor und Homepage - Unterstützte Fähigkeiten (z. B. AMS-Unterstützung, RFID, Auto-Match) - Liste der vom Plugin erstellten Drucker-Parameter --- ## 11.6 Datenbank-Backup & Wiederherstellung **URL:** `http(s)://url/admin/backup` > ⚠️ **Hinweis:** Alle Backup- und Wiederherstellungsfunktionen sind ausschließlich für **Superadmins** verfügbar. Der Backup-Bereich bietet umfassende Möglichkeiten, die FilaMan-Datenbank zu sichern und wiederherzustellen. Es stehen zwei Backup-Modi zur Verfügung: **Vollständiges Backup** (alle Daten) und **Inventar-Backup** (nur Bestandsdaten). ### Vollständiges Backup exportieren Exportiert **alle Daten** der Datenbank als JSON-Datei, einschließlich: - Benutzer, Passwörter, API-Keys und Sessions - Rollen und Berechtigungen - Geräte und Plugins - Alle Bestandsdaten (Hersteller, Filamente, Spulen, Drucker, Farben, Lagerorte etc.) Klicken Sie auf **„Export Backup"**, um die Datei herunterzuladen. Der Dateiname enthält automatisch einen Zeitstempel (z. B. `filaman_backup_20260313_120000.json`). > ⚠️ **Sicherheitshinweis:** Die exportierte Datei enthält **sensible Daten** (Passwort-Hashes, API-Schlüssel). Bewahren Sie diese Datei sicher auf und teilen Sie sie nicht mit Dritten! ### Vollständiges Backup importieren Stellt ein zuvor exportiertes vollständiges Backup wieder her. 1. Wählen Sie eine `.json`-Backup-Datei über den Datei-Upload aus 2. Klicken Sie auf **„Import Backup"** 3. Bestätigen Sie den Vorgang im Bestätigungsdialog 4. Ein Fortschrittsbalken zeigt den Status des Imports an 5. Nach erfolgreichem Import wird die Seite automatisch neu geladen > 🚨 **Achtung:** Beim Import werden **ALLE bestehenden Daten gelöscht** und durch die Daten aus dem Backup ersetzt! Vor dem Import wird automatisch ein Sicherungs-Backup der aktuellen Daten erstellt. ### Inventar exportieren Exportiert **nur Bestandsdaten** als JSON-Datei: - Hersteller, Farben, Lagerorte - Filamente und Spulen - Drucker und Drucker-Slots - Bewertungen, Ereignisse und Zusatzfelder **Nicht enthalten** sind: Benutzer, Passwörter, API-Keys, Sessions, Rollen, Berechtigungen, Geräte, Plugins und OIDC-Einstellungen. Klicken Sie auf **„Export Inventory"**, um die Datei herunterzuladen (z. B. `filaman_inventory_20260313_120000.json`). > ✅ **Sicher zum Teilen:** Der Inventar-Export enthält keine sensiblen Authentifizierungsdaten und kann bedenkenlos zwischen FilaMan-Instanzen ausgetauscht werden. ### Inventar importieren Importiert Bestandsdaten von einer anderen FilaMan-Instanz. Benutzer, Rollen, Geräte und Plugins bleiben dabei **unverändert**. 1. Wählen Sie eine `.json`-Inventar-Datei über den Datei-Upload aus 2. Klicken Sie auf **„Import Inventory"** 3. Bestätigen Sie den Vorgang im Bestätigungsdialog 4. Der Import wird mit einem Fortschrittsbalken angezeigt > ⚠️ **Achtung:** Beim Import werden die **bestehenden Bestandsdaten gelöscht** und durch die importierten Daten ersetzt! Benutzer und Einstellungen bleiben erhalten. Vor dem Import wird automatisch ein Sicherungs-Backup erstellt. ### SQLite-Backups > **Hinweis:** Dieser Bereich ist nur sichtbar, wenn FilaMan mit einer **SQLite-Datenbank** betrieben wird. Bei MySQL oder PostgreSQL müssen Backups extern durch den Administrator verwaltet werden. FilaMan erstellt automatisch SQLite-Backups der Datenbank (täglich und vor Updates). Diese werden im Backup-Verzeichnis gespeichert (Standard: `/app/data/backups`). Die Tabelle zeigt alle vorhandenen Backups mit folgenden Informationen: | Spalte | Beschreibung | |--------|-------------| | **File** | Dateiname des Backups | | **Date** | Erstellungsdatum | | **Size** | Dateigröße | Für jedes Backup stehen zwei Aktionen zur Verfügung: - **Restore** — Stellt die Datenbank aus diesem Backup wieder her. Vor der Wiederherstellung wird automatisch ein Backup der aktuellen Datenbank erstellt. Nach der Wiederherstellung muss die Anwendung neu geladen werden. - **Delete** — Löscht die ausgewählte Backup-Datei dauerhaft. --- ## 11.7 OIDC / SSO **URL:** `http(s)://url/admin/oidc` > ⚠️ **Hinweis:** Die OIDC-Kachel im Admin-Panel ist nur klickbar, wenn FilaMan über **HTTPS** aufgerufen wird. Bei HTTP-Verbindungen zeigt die Kachel einen Hinweis, dass OIDC nur über HTTPS funktioniert, und ist nicht klickbar. In diesem Bereich können Administratoren **OpenID Connect (OIDC)** für Single Sign-On (SSO) konfigurieren. Benutzer können sich dann über einen externen Identity Provider anmelden (z. B. Authentik, Keycloak, Azure AD). ### Konfigurationsfelder | Einstellung | Beschreibung | |-------------|-------------| | **Aktiviert** | Toggle zum Aktivieren/Deaktivieren des OIDC-Logins | | **Issuer URL** | Die Issuer-URL des OIDC-Providers (muss `https://` sein) | | **Client ID** | Die beim OIDC-Provider registrierte Client-ID | | **Client Secret** | Das Client-Secret (wird verschlüsselt in der Datenbank gespeichert) | | **Scopes** | Angeforderte OIDC-Scopes (Standard: `openid email profile`) | | **Button-Text** | Benutzerdefinierter Text für den SSO-Button auf der Login-Seite (z. B. „Login mit Authentik") | ### Voraussetzungen - **HTTPS erforderlich** — OIDC funktioniert nur, wenn FilaMan über HTTPS aufgerufen wird - **Umgebungsvariable `OIDC_ENC_KEY`** — Muss gesetzt sein, um das Client-Secret zu verschlüsseln. Generieren mit: ```bash openssl rand -hex 32 ``` - **Nur bestehende Benutzer** — Nur Benutzer, die bereits in FilaMan existieren, können sich per OIDC anmelden. Die E-Mail-Adresse des Providers muss mit einem bestehenden Benutzerkonto übereinstimmen. Die E-Mail muss vom Provider als verifiziert markiert sein. - **Keine automatische Erstellung** — OIDC-Login erstellt keine neuen Benutzerkonten --- ## 11.8 Gefahrenzone Am unteren Ende des Admin-Panels befindet sich die rot markierte **Danger Zone** mit einer kritischen Aktion: > ⛔ **„Delete all data"** > Löscht **dauerhaft** alle Spulen, Filamente, Hersteller, Farben, Lagerorte und Drucker einschließlich aller Logs und Ereignisse. > **Benutzerkonten, Rollen, Berechtigungen und Geräte bleiben davon unberührt.** > Diese Aktion kann **nicht rückgängig gemacht** werden! --- ← [Zurück: Einstellungen](/Docs/De/10-Einstellungen) | [Weiter: Farbverwaltung →](/Docs/De/12-Farbverwaltung)