# Pithyx > Pithyx ist ein freies, selbst gehostetes NAS- und Server-Betriebssystem mit Web-Desktop: Debian 13, ein C#-Daemon, ein React-Desktop und Apps als Container. Es läuft zu 100 Prozent lokal, ohne Telemetrie und ohne Cloud-Konto. ## Pithyx-Dokumentation > Alles über Pithyx, von der Installation einer Box bis zu eigenen Apps. Source: https://pithyx.org/de/docs/ Markdown: https://pithyx.org/de/docs.md Wähl unten einen Bereich. Jede Seite gibt es auch als reines Markdown: Häng `.md` an ihre Adresse oder nimm die Knöpfe unter dem Titel. - [Erste Schritte](https://pithyx.org/de/docs/getting-started/what-is-pithyx.md): Was Pithyx ist, welche Hardware es braucht und der schnellste Weg zur laufenden Box. - [Pithyx benutzen](https://pithyx.org/de/docs/user/desktop.md): Der Web-Desktop für den Alltag: Fenster, Dateien, Apps und das eigene Konto. - [Administration](https://pithyx.org/de/docs/admin/storage.md): Eine Box betreiben: Benutzer und Gruppen, Rechte, Speicher, Freigaben, Dateidienste, Netzwerk, Apps und Backups. - [Installieren und aktualisieren](https://pithyx.org/de/docs/install/usb-stick.md): Der USB-Stick, Firmware und Boot, der Web-Installer, die erste Einrichtung und Systemupdates. - [Daemon](https://pithyx.org/de/docs/developers/daemon/architecture.md): Der C#-Daemon: Architektur, API, Fehler, Logging und Tests. - [Desktop](https://pithyx.org/de/docs/developers/desktop/architecture.md): Der React-Web-Desktop: Aufbau, Übersetzungen, Theming, Fenstermanager und Budgets. - [App-Entwicklung](https://pithyx.org/de/docs/developers/apps/overview.md): Apps schreiben, bauen und veröffentlichen: pithyx dev, das Manifest, Backends und Kataloge. - [SDK und CLI](https://pithyx.org/de/docs/sdk/guides/files-and-storage.md): Die npm-Pakete @pithyx/sdk, @pithyx/ui und @pithyx/cli. - [Referenz](https://pithyx.org/de/docs/reference/cli.md): Alle Fehlercodes, die REST-API, Manifest- und Compose-Regeln und ein Glossar. - [Projekt](https://pithyx.org/de/docs/project/license.md): Lizenz, Datenschutz, Mitmachen, Sicherheitslücken melden und das Changelog. ## Was ist Pithyx > Pithyx in wenigen Minuten: ein NAS- und Server-Betriebssystem mit Web-Desktop, das nur auf deiner eigenen Hardware läuft. Source: https://pithyx.org/de/docs/getting-started/what-is-pithyx/ Markdown: https://pithyx.org/de/docs/getting-started/what-is-pithyx.md Pithyx ist ein freies, selbst gehostetes Betriebssystem für ein NAS oder einen Heimserver. Du installierst es auf deinem eigenen Computer und verwaltest danach Speicher, Benutzer, Dateifreigaben und Apps in einem Web-Desktop, den du in jedem Browser öffnest. Alles läuft auf deiner Box: Es gibt kein Cloud-Konto, keine Telemetrie und keinen vom Projekt betriebenen Dienst, von dem deine Box abhängt. > **Caution:** > > Pithyx 1.0 ist als Beta gekennzeichnet: Wir halten es für stabil, aber es hat sich noch nicht im Alltag auf echten Boxen bewährt. Behandle es als Beta und halte von Daten, die dir wichtig sind, eine Kopie auf einem anderen Gerät. ### Was du bekommst - **Ein Web-Desktop.** Fenster, eine Taskleiste, Desktop-Verknüpfungen und Notizen, im Browser auf PC, Tablet oder Handy. Siehe [Der Desktop](https://pithyx.org/de/docs/user/desktop/). - **Speicher mit ZFS.** Du baust in der App „Speicher“ aus deinen Festplatten Pools und legst darauf freigegebene Ordner an. Neue Pools nutzen Kompression und sind nicht verschlüsselt. Siehe [Speicher und Pools](https://pithyx.org/de/docs/admin/storage/). - **Dateifreigabe.** Freigegebene Ordner sind über SMB, SFTP, WebDAV und FTP erreichbar. SMB ist standardmäßig an; die anderen schaltest du in den Einstellungen ein. Siehe [Von anderen Geräten zugreifen](https://pithyx.org/de/docs/user/file-access/). - **Benutzer und Gruppen.** Jeder Benutzer ist ein echtes Konto auf der Box. Rechte werden an Benutzer und Gruppen vergeben; ein Benutzer erhält die Vereinigung aller seiner Rechte. Administratoren dürfen alles. Siehe [Benutzer und Gruppen](https://pithyx.org/de/docs/admin/users-and-groups/). - **Apps.** Apps öffnen sich in Fenstern auf dem Desktop. Eine App ist ein Frontend mit einem optionalen Backend in Containern. Administratoren installieren Apps aus einer Datei oder aus einem Katalog im Store; der offizielle und der Community-Katalog sind standardmäßig an. Siehe [Apps benutzen](https://pithyx.org/de/docs/user/apps/). - **Backup der Konfiguration.** Einstellungen, Benutzer und die Definitionen der freigegebenen Ordner lassen sich in einer verschlüsselten Datei sichern und nach einer Neuinstallation wiederherstellen. Siehe [Konfigurationsbackup](https://pithyx.org/de/docs/admin/backup/). - **Netzwerkeinstellungen im Browser**, auch Bonds und VLANs, mit einem Bestätigungs-Timer, der eine Änderung zurücknimmt, die dich aussperren würde. Siehe [Netzwerk](https://pithyx.org/de/docs/admin/network/). Die Kern-Apps sind Dateien, Betrachter, Speicher, Einstellungen, Ressourcenmonitor, Protokoll-Center, Über Pithyx und der Store. ### Wie es gebaut ist - Die Box läuft mit Debian 13. Der Pithyx-Daemon (C# auf .NET 10) ist der einzige privilegierte Prozess und liefert den Web-Desktop und die API aus. - Der Desktop ist eine React-Webanwendung. Kern-Apps und Apps von Drittanbietern nutzen dasselbe SDK. - Die Systemplatte enthält das System auf btrfs, in einem RAID 1 aus einer oder zwei Platten. Deine Daten liegen auf ZFS-Pools auf anderen Platten. - Die Einstellungen liegen in einer kleinen SQLite-Datenbank auf der Systemplatte, sodass sich die Systemplatte aus einem Konfigurationsbackup neu aufbauen lässt. - Pithyx steht unter der AGPL-3.0. Die npm-Pakete für App-Entwickler stehen unter der MIT-Lizenz. Details findest du unter [Architektur des Daemons](https://pithyx.org/de/docs/developers/daemon/architecture/). ### Was Pithyx nicht ist - Es ist noch nichts für Daten, die du dir nicht leisten kannst zu verlieren (siehe die Warnung oben). - Es ist ein System für frische Installationen. Es gibt keinen Import aus anderen NAS-Systemen. - Der Installer stellt kein Backup wieder her und importiert keine Pools. Beides passiert nach der ersten Anmeldung. - Es bietet kein NFS. Pools sind noch nicht verschlüsselt. - Es braucht einen 64-Bit-x86-Computer mit UEFI und ausgeschaltetem Secure Boot. Es gibt keinen Installer für 32-Bit-Rechner, Legacy-BIOS oder Raspberry Pi. Siehe [Hardware-Anforderungen](https://pithyx.org/de/docs/getting-started/requirements/). - Es unterstützt nur kabelgebundene Netzwerke. WLAN wird nicht unterstützt. - Es kündigt sich nicht im Netzwerk an, du findest die Box also über ihre Adresse. ### Wie es weitergeht - [Hardware-Anforderungen](https://pithyx.org/de/docs/getting-started/requirements/) - [Schnellstart](https://pithyx.org/de/docs/getting-started/quick-start/) - [Der Web-Installer](https://pithyx.org/de/docs/install/installer/) - [Der Desktop](https://pithyx.org/de/docs/user/desktop/) - [Häufige Fragen](https://pithyx.org/de/docs/faq/) ## Hardware-Anforderungen > Die Hardware, die Pithyx braucht, die Referenzmaschine und was nicht unterstützt wird. Source: https://pithyx.org/de/docs/getting-started/requirements/ Markdown: https://pithyx.org/de/docs/getting-started/requirements.md Pithyx lässt sich auf einem 64-Bit-x86-Computer mit UEFI-Firmware, mindestens 2 GB Arbeitsspeicher und einer Systemfestplatte von mindestens 32 GB installieren. Der Installer prüft das alles, bevor du anfangen darfst. Deine Daten kommen auf zusätzliche Festplatten, aus denen du nach der Installation Pools machst. ### Unterstützte Plattformen Der Installer prüft auf seiner ersten Seite fünf Dinge und startet nicht, wenn eine davon fehlschlägt: | Prüfung | Voraussetzung | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | Prozessor | 64-Bit-x86 mit x86-64-v2 (braucht unter anderem SSE4.2 und POPCNT) | | Firmware | Im UEFI-Modus gestartet. Legacy-BIOS und CSM-Modus funktionieren nicht. | | Arbeitsspeicher | Mindestens 2 GB (die Prüfung lässt etwa 400 MB Toleranz für Speicher zu, den die Firmware reserviert); empfohlen sind 4 GB oder mehr | | Secure Boot | Ausgeschaltet. Das ZFS-Modul ist nicht signiert. Siehe [Firmware und Boot](https://pithyx.org/de/docs/install/firmware-and-boot/). | | Systemplatte | Mindestens eine passende Festplatte, verkauft als 32 GB oder mehr (die Prüfung lässt 2 GB Toleranz zu) | Das Basissystem ist Debian 13. Es gibt keine 32-Bit-Version. ### Referenzhardware Die Referenzmaschine ist ein Intel N100 oder N305 mit 8 GB Arbeitsspeicher. Der Daemon bleibt im Leerlauf unter 200 MB Speicher und unter 1 Prozent CPU. Diese Zahlen sind Budgets für die eigenen Tests des Projekts, keine Voraussetzungen. Der Installer erzwingt nur das Minimum von 2 GB. ### Festplatten und Pools **Systemplatte.** Der Installer schreibt das System auf eine Festplatte oder auf zwei Festplatten als Spiegel (btrfs auf einem mdadm-RAID-1). Er nutzt nie mehr als zwei. - Die Festplatte muss mindestens 32 GB groß sein. Ab 40 GB belegt Pithyx davon 36,5 GiB (eine Boot-Partition mit 512 MiB, 32 GiB für das System und 4 GiB Swap) und lässt den Rest frei. Auf einer kleineren Platte hat der Swap 2 GiB und das System bekommt den Rest, auf einer 32-GB-Platte etwa 26 GiB; das reicht für das System, seine Update-Snapshots und die Protokolle. Bei zwei Platten entscheidet die kleinere. - Mit 2 bis 4 GB Arbeitsspeicher trägt eine Box wenige Benutzer und Apps; der Installer sagt das. ZFS hält dann weniger im Cache, und große App-Images oder Updates nutzen eventuell den Swap. - Schreibgeschützte Festplatten, Festplatten in Benutzung und der Installer-Stick selbst werden nicht angeboten. - Eingebauter eMMC-Speicher (häufig in kleinen Computern) funktioniert wie eine interne Festplatte. - Ein USB-Stick, eine USB-Festplatte oder eine Speicherkarte kann das System aufnehmen, und der Installer warnt davor: Das System schreibt ständig Logs und seine Datenbank auf die Systemplatte, und billiger Flash-Speicher ist nach wenigen Monaten kaputt. Wenn du so etwas wählst, nimm eine USB-SSD oder einen schnellen USB-3-Stick eines bekannten Herstellers (bei einer Karte eine für den Dauerbetrieb), am besten zwei davon als Spiegel, und halte eine [Konfigurationssicherung](https://pithyx.org/de/docs/admin/backup/) bereit. Der Stick muss eingesteckt bleiben. - Eine Festplatte mit Magnetscheiben ist erlaubt, aber der Installer weist darauf hin, dass eine SSD schneller und leiser ist und weniger Strom braucht. - Eine Festplatte, auf der schon Daten liegen, wird mit einer Warnung angezeigt. Die Installation löscht sie. - Mit einer Festplatte wird das System trotzdem als Spiegel mit einem Mitglied gebaut. Die zweite Festplatte später hinzuzufügen ist in der Oberfläche noch nicht möglich. **Daten-Pools.** Nach der Installation legst du Pools in der Speicher-App an, auf anderen Festplatten als der Systemplatte. | Aufbau | Mindestanzahl Festplatten | | --------------- | ------------------------- | | Einzelne Platte | 1 | | Stripe | 2 | | Spiegel | 2 | | Spiegelpaare | 4 (eine gerade Anzahl) | | RAID-Z1 | 3 | | RAID-Z2 | 4 | | RAID-Z3 | 5 | Neue Pools werden mit 4-KiB-Sektoren (`ashift=12`), `lz4`-Kompression und `atime=off` angelegt. Ein Pool-Name beginnt mit einem Kleinbuchstaben und darf Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche enthalten, bis zu 32 Zeichen. Pools sind nicht verschlüsselt. Siehe [Speicher und Pools](https://pithyx.org/de/docs/admin/storage/). ### Netzwerk - Jede kabelgebundene Netzwerkkarte fragt beim ersten Start per DHCP nach einer Adresse (IPv4 und IPv6). Im Installer kannst du eine feste Adresse einstellen. - Der Web-Desktop wird über HTTPS auf Port 7484 ausgeliefert; die Ports 80 und 443 leiten dorthin weiter, außer für Domains, die du im Reverse Proxy einrichtest. Browser warnen vor dem eigenen Zertifikat der Box, bis ein Gerät ihrem Root-Zertifikat vertraut. - Die Box hat eine Firewall, die nur die Weboberfläche und die Dateidienste durchlässt, die du einschaltest. Siehe [Sicherheit](https://pithyx.org/de/docs/admin/security/#offene-ports). - WLAN wird nicht unterstützt. - Die Box kündigt keinen Namen im Netzwerk an. Nutze ihre IP-Adresse, die die Konsole nach dem Start anzeigt. ### Plattformen der Community Es gibt kein Image für arm64 (zum Beispiel den Raspberry Pi 5): Image und Installer gibt es nur für x86-64. Der Installer wird in virtuellen Maschinen mit QEMU und KVM (UEFI-Firmware) getestet; andere Hypervisoren und echte Hardware wurden nicht systematisch getestet. ## Schnellstart > Vom Image bis zum ersten angemeldeten Desktop in so wenigen Schritten wie möglich, mit Links zu den Details. Source: https://pithyx.org/de/docs/getting-started/quick-start/ Markdown: https://pithyx.org/de/docs/getting-started/quick-start.md Der kurze Weg: Schreibe das Pithyx-Image auf einen USB-Stick, starte den Computer davon, beende den Installer in einem Browser auf einem anderen Gerät und melde dich dann unter `https://:7484` an. Diese Seite listet die Schritte auf und verlinkt auf die Seiten, die jeden davon erklären. ### Das Image herunterladen Lade das Image von den [Releases auf GitHub](https://github.com/pithyx/pithyx/releases) herunter: eine Datei namens `pithyx--amd64.iso` mit einer Prüfsummendatei daneben. Siehe [USB-Stick schreiben](https://pithyx.org/de/docs/install/usb-stick/). ### Den USB-Stick schreiben Schreibe das Image mit einem beliebigen Programm, das Datenträgerabbilder schreibt, auf einen USB-Stick. Der ganze Stick wird überschrieben. Siehe [USB-Stick schreiben](https://pithyx.org/de/docs/install/usb-stick/). ### Installieren 1. Prüfe die [Hardware-Anforderungen](https://pithyx.org/de/docs/getting-started/requirements/). Nutze in der Firmware den UEFI-Modus und schalte Secure Boot aus. Siehe [Firmware und Boot](https://pithyx.org/de/docs/install/firmware-and-boot/). 2. Starte den Computer vom Stick und wähle **Install Pithyx** (es startet nach 5 Sekunden von selbst). 3. Lies die Adresse auf der Konsole ab, zum Beispiel `http://192.168.1.50:7484`, und öffne sie in einem Browser auf einem anderen Gerät. 4. Gehe die Schritte des [Web-Installers](https://pithyx.org/de/docs/install/installer/) durch: Name und Region, Netzwerk, Systemfestplatte, Administratorkonto, Zusammenfassung. 5. Wähle **Pithyx installieren** und warte. Notiere dir den Wiederherstellungsschlüssel, der erscheint, entferne dann den Stick und starte neu. ### Erste Einrichtung Der Installer legt das Owner-Konto schon an, deshalb gibt es keine eigene Einrichtungsseite. Melde dich mit dem Konto an, das du gewählt hast. Siehe [Erste Einrichtung](https://pithyx.org/de/docs/install/first-setup/). ### Nächste Schritte 1. Öffne **Speicher** und lege einen Pool auf deinen Daten-Festplatten an. 2. Öffne Einstellungen > **Freigegebene Ordner** und lege freigegebene Ordner auf dem Pool an. 3. Lege Benutzer unter Einstellungen > **Benutzer** an und gib ihnen Zugriff auf die freigegebenen Ordner. Siehe [Benutzer und Gruppen](https://pithyx.org/de/docs/admin/users-and-groups/). 4. Schalte unter Einstellungen > **Dateidienste** die Dateidienste ein, die du brauchst ([Dateidienste](https://pithyx.org/de/docs/admin/file-services/)), und verbinde dich von deinen Geräten aus ([Von anderen Geräten zugreifen](https://pithyx.org/de/docs/user/file-access/)). 5. Erstelle unter Einstellungen > **Backup und Wiederherstellung** ein Konfigurationsbackup. Siehe [Konfigurationsbackup](https://pithyx.org/de/docs/admin/backup/). ## Der Desktop > Fenster, Taskleiste, Desktop-Elemente, Andocken, Tastenkürzel und das Layout, das sich jedes Gerät merkt. Source: https://pithyx.org/de/docs/user/desktop/ Markdown: https://pithyx.org/de/docs/user/desktop.md Der Pithyx-Desktop ist die Seite, die du im Browser unter `https://:7484` öffnest. Er funktioniert wie ein gewöhnlicher Computer-Desktop: Apps öffnen sich in Fenstern, eine Taskleiste zeigt, was läuft, und du kannst Verknüpfungen und Notizzettel auf den Desktop legen. Die Box merkt sich deine Fenster für jedes Gerät, das du benutzt. ### Anmelden 1. Öffne `https://:7484` in deinem Browser. Port 80 leitet dorthin weiter. 2. Gib deinen **Benutzernamen** und dein **Passwort** ein und klicke auf **Anmelden**. 3. Wenn du die Zwei-Faktor-Anmeldung eingeschaltet hast, gib den Code aus deiner Authenticator-App ein und klicke auf **Bestätigen**. Wenn du dein Handy verloren hast, klicke auf **Stattdessen einen Wiederherstellungscode verwenden**. > **Caution:** > > Beim ersten Mal warnt der Browser vor dem eigenen Zertifikat der Box; fahre zur Seite fort. Ein Administrator kann die Warnung mit dem Root-Zertifikat der Box dauerhaft beseitigen ([Zertifikate](https://pithyx.org/de/docs/admin/certificates/)). Du brauchst das Recht **Am Desktop anmelden**. Ist dein Konto deaktiviert oder fehlt das Recht, muss ein Administrator das ändern. Nach fünf falschen Versuchen für denselben Benutzernamen von derselben Adresse innerhalb von fünf Minuten pausiert die Anmeldung für kurze Zeit und sagt dir, wie viele Sekunden du warten musst. Zum Abmelden öffnest du das Pithyx-Menü und klickst unten neben dem Ein/Aus-Knopf auf **Abmelden**. Passwort vergessen? Klicke auf der Anmeldeseite auf **Passwort vergessen?**. Pithyx kann ein Passwort nicht per E-Mail zurücksetzen: Bitte einen Administrator, ein neues zu setzen. Administratoren können den Wiederherstellungsschlüssel nutzen. Siehe [Wiederherstellen und neu installieren](https://pithyx.org/de/docs/install/recovery/). Die Anmeldeseite hat in der Fußzeile eine eigene Sprachauswahl. Wenn die Box zum ersten Mal eingerichtet wird, legt der Installer das Owner-Konto an; siehe [Erste Einrichtung](https://pithyx.org/de/docs/install/first-setup/). ### Fenster und Andocken ![Das Fenstermenü von Dateien, geöffnet über das App-Symbol in der Titelleiste, mit Verschieben, Größe ändern, Minimieren, Maximieren, Links andocken, Rechts andocken und Schließen](../../../../../assets/screenshots/desktop-window-menu.de.webp) _Das App-Symbol in der Titelleiste öffnet das Fenstermenü mit den Tastenkürzeln zum Andocken._ Jede App öffnet sich in einem Fenster. Was du mit einem Fenster tun kannst, hängt von der Breite deines Browsers ab: - **1024 Pixel oder breiter:** freie Fenster. Du kannst sie verschieben, in der Größe ändern und an den Bildschirmrändern andocken. - **600 bis 1023 Pixel (Tablets):** Fenster füllen den Bildschirm. Angedockte Fenster teilen sich den Bildschirm als linke und rechte Hälfte. - **Unter 600 Pixel (Handys):** immer nur eine App, im Vollbild. Auf einem breiten Bildschirm: - Ziehe die Titelleiste, um ein Fenster zu verschieben. Ziehe an einer Kante oder Ecke, um die Größe zu ändern. - Doppelklicke auf die Titelleiste, um das Fenster zu maximieren, und noch einmal, um es wiederherzustellen. - Ziehe ein Fenster an den linken oder rechten Rand, damit es die halbe Breite füllt, oder an den oberen Rand, um es zu maximieren. Auf sehr breiten Bildschirmen (2400 Pixel oder mehr) ergeben die Ränder Drittel. - Ziehe ein maximiertes oder angedocktes Fenster vom Rand weg, um seine freie Größe zurückzubekommen. - Die Titelleiste hat die Schaltflächen **Minimieren**, **Maximieren** (oder **Wiederherstellen**) und **Schließen**. - Klicke auf das App-Symbol links in der Titelleiste, um das Fenstermenü zu öffnen: **Wiederherstellen**, **Verschieben**, **Größe ändern**, **Minimieren**, **Maximieren**, **Links andocken**, **Rechts andocken** und **Schließen**. Bei **Verschieben** und **Größe ändern** kannst du die Pfeiltasten benutzen (16 Pixel pro Druck, mit Umschalt 1 Pixel), mit **Enter** bestätigen und mit **Esc** abbrechen. Neue Fenster öffnen sich leicht versetzt zueinander. Du kannst höchstens 50 Fenster gleichzeitig offen haben. Darüber hinaus tut das Öffnen einer weiteren App nichts. Antwortet eine App fünf Sekunden lang nicht, sagt ein Dialog, dass die App nicht reagiert. Klicke auf **Warten** oder **Trotzdem schließen**; beim Trotzdem-Schließen gehen Änderungen verloren, die die App noch nicht gespeichert hat. ### Die Taskleiste ![Das Pithyx-Menü im dunklen Design mit geöffnetem Kontomenü von Anna Weber: Zwei-Faktor-Authentifizierung, Sprache, Darstellung, Akzentfarbe, Hintergrundbild, Desktop holen von und Position der Taskleiste](../../../../../assets/screenshots/desktop-account-menu.de.webp) _Das Kontomenü öffnet sich, wenn du unten im Pithyx-Menü auf deinen Namen klickst._ Standardmäßig liegt die Taskleiste am unteren Bildschirmrand. Von links nach rechts hat sie: - die Schaltfläche des Pithyx-Menüs, - eine Schaltfläche pro laufender App, - den App-Umschalter mit der Anzahl der offenen Apps, - die Schaltfläche für Übertragungen, solange Dateien hoch- oder heruntergeladen werden, - die Schaltfläche für laufende Aufgaben, - die Benachrichtigungsglocke mit einem Zähler für ungelesene Benachrichtigungen, - die Uhr. Laufen mehr Apps, als Platz haben, werden ihre Schaltflächen schmaler und lassen sich dann verschieben: Drehe das Mausrad über ihnen oder wische, und die aktive App kommt immer ins Bild. Die Menü-Schaltfläche und alles von den Übertragungen bis zur Uhr bleiben an ihrem Platz. Klicke auf eine laufende App, um sie nach vorn zu holen. Klicke noch einmal auf die aktive App, um sie zu minimieren. Klicke mit der rechten Maustaste auf eine laufende App (oder drücke darauf **Umschalt+F10**) für **Minimieren** oder **Wiederherstellen**, **Zum Desktop hinzufügen** und **Schließen**. Um die Taskleiste zu verschieben, öffne das Pithyx-Menü, klicke auf deinen Namen, wähle **Position der Taskleiste** und dann **Unten**, **Oben**, **Links** oder **Rechts**. Auf Handys bleibt die Taskleiste immer unten und der Eintrag fehlt. **Das Pithyx-Menü** öffnest du mit der Schaltfläche links in der Taskleiste oder indem du die Windows- oder Befehlstaste (Command) drückst und loslässt. Es listet deine Apps auf und hat ein Suchfeld. Die Suche findet Apps nur nach ihrem Namen; Einstellungen und Dateien findet sie dort nicht, und die Liste der zuletzt benutzten Dateien bleibt leer. Dein Kontomenü (klicke auf deinen Namen) enthält: - **Zwei-Faktor-Authentifizierung** - **Sprache** - **Darstellung**, **Akzentfarbe** und **Hintergrundbild** - **Desktop holen von** - **Position der Taskleiste** (nicht auf Handys) Unten im Pithyx-Menü, neben deinem Namen, stehen der Knopf **Abmelden** und, für Administratoren und Benutzer mit dem Recht **Neu starten und herunterfahren**, der Knopf **Ein/Aus** mit **Neu starten** und **Herunterfahren**. Beides meldet alle Benutzer ab und beendet Dateiübertragungen. **Benachrichtigungen.** Die Glocke öffnet ein Fenster mit **Laufende Aufgaben** und **Neueste** Benachrichtigungen. Nutze **Verwerfen**, **Stummschalten** oder **Alle löschen**. Drücke **Esc**, um das Fenster zu schließen. ### Desktop-Elemente und Notizen ![Der Desktop mit den Fenstern Dateien und Speicher nebeneinander, links den Verknüpfungen Dateien und Einstellungen und einer Notiz und unten der Taskleiste](../../../../../assets/screenshots/desktop.de.webp) _Zwei Verknüpfungen und eine Notiz neben zwei offenen Fenstern._ Der Desktop enthält Verknüpfungen zu Apps und Notizzettel. Sie gehören zu deinem Konto und erscheinen auf jedem Gerät. - Um eine Verknüpfung hinzuzufügen, klicke mit der rechten Maustaste auf eine freie Stelle und wähle **Neue Verknüpfung**, dann eine App. Oder klicke in der Taskleiste mit der rechten Maustaste auf eine laufende App und wähle **Zum Desktop hinzufügen**. - Um eine Notiz hinzuzufügen, klicke mit der rechten Maustaste auf eine freie Stelle und wähle **Neue Notiz**. Eine Notiz fasst bis zu 4000 Zeichen und speichert sich kurz nach dem Tippen selbst. - Öffne eine Verknüpfung mit einem Doppelklick (auf einem Touchscreen mit einem einfachen Tippen), oder wähle sie aus und drücke **Enter**. - Klicke mit der rechten Maustaste auf eine Verknüpfung für **Öffnen**, **Umbenennen**, **Verschieben** und **Vom Desktop entfernen**. **F2** benennt um, **Entf** entfernt. - Ziehe Symbole, um sie zu verschieben. Ziehe auf einer freien Stelle, um mehrere auszuwählen. Halte **Strg** oder **Umschalt** gedrückt, um zu einer Auswahl hinzuzufügen. - Auf einem Touchscreen hältst du etwa eine halbe Sekunde gedrückt, um das Menü zu öffnen. - Um eine Notiz zu löschen, klicke auf **Notiz entfernen**. Bei einer Notiz mit Text kommt vorher die Frage **Diese Notiz löschen?**. Der Text wird auf allen deinen Geräten gelöscht. Der Desktop fasst höchstens 200 Elemente. Symbole rasten an einem Raster ein. Auf kleinen Bildschirmen fließen sie in Reihen wie auf dem Home-Bildschirm eines Handys. ### Tastenkürzel Diese Fenster-Tastenkürzel funktionieren überall auf dem Desktop, außer während du in ein Textfeld tippst: | Tasten | Aktion | | --------------------------------------- | ------------------------------------------------------------------------------------ | | **Alt+Umschalt+Links** / **Rechts** | Das Fenster links oder rechts andocken | | **Alt+Umschalt+Hoch** | Maximieren | | **Alt+Umschalt+Runter** | Ein angedocktes oder maximiertes Fenster wiederherstellen oder ein freies minimieren | | **Alt+Umschalt+Leertaste** | Das Fenstermenü des aktiven Fensters öffnen | | **Alt+Umschalt+Bild auf** / **Bild ab** | Zum vorherigen oder nächsten Fenster wechseln | Weitere Tasten: - Die Windows- oder Befehlstaste antippen und loslassen: das Pithyx-Menü öffnen oder schließen. - **Esc**: das Pithyx-Menü, den App-Umschalter oder das Benachrichtigungsfenster schließen. - Auf dem Desktop: Die Pfeiltasten wechseln zwischen Symbolen, **Enter** öffnet, **F2** benennt um, **Entf** entfernt, **Umschalt+F10** oder die Menütaste öffnet das Kontextmenü. ### Layout pro Gerät Die Box merkt sich deine Fenster für jeden Browser, den du benutzt: welche Apps offen sind, wo, wie groß, die Position der Taskleiste und kleine Details wie den Ordner, der in Dateien offen ist. Öffnest du den Desktop erneut, kehren die Fenster zurück. Ein Gerät wird an einem kleinen Cookie erkannt, das keine persönlichen Daten enthält. - Gespeicherte Layouts laufen 90 Tage nach dem letzten Speichern ab. - Ein Fenster einer App, die entfernt wurde oder die du nicht mehr benutzen darfst, wird übersprungen. Eine Benachrichtigung sagt dir, wie viele es waren. - Deine Desktop-Elemente, Akzentfarbe und Hintergrundbild sind auf allen Geräten gleich. Das Theme und die Sprache gehören zum Gerät. - Um die Anordnung eines anderen Geräts zu übernehmen, öffne dein Kontomenü, klicke auf **Desktop holen von** und wähle das Gerät. Gibt es keines, steht in der Liste **Keine anderen Geräte**. Der Desktop folgt dir nicht von selbst zwischen Geräten. ### Handys und Tablets Es gibt keine eigene mobile App. Dieselbe Seite passt sich dem Bildschirm an. - Auf einem Handy füllt eine App den Bildschirm. Der App-Umschalter zeigt die offenen Apps als Karten; tippe auf eine Karte, um zu wechseln, oder auf **Alle schließen**. Auch ein Wischen zur Seite entlang der Taskleiste wechselt die App. - Die Zurück-Geste des Browsers minimiert die offene App und bringt dich zum Home-Bildschirm, statt den Desktop zu verlassen. - Auf einem Tablet sind Fenster maximiert, und du kannst zwei nebeneinander andocken. - Halte gedrückt, um Menüs zu öffnen. Ein einfaches Tippen öffnet eine Verknüpfung. Verwandte Seiten: [Dateien](https://pithyx.org/de/docs/user/files/), [Apps benutzen](https://pithyx.org/de/docs/user/apps/), [Dein Konto](https://pithyx.org/de/docs/user/account/). ## Dateien > Die Dateien-App: Durchsuchen, Hochladen, Kopieren und Verschieben, der Papierkorb, Vorschaubilder und der Betrachter. Source: https://pithyx.org/de/docs/user/files/ Markdown: https://pithyx.org/de/docs/user/files.md Dateien ist die App, mit der du in den freigegebenen Ordnern arbeitest, die du nutzen darfst: Ordner öffnen, Dateien hoch- und herunterladen, kopieren und verschieben und gelöschte Dateien aus dem Papierkorb wiederherstellen. Bilder, PDFs, Text, Audio und Video öffnen sich im Betrachter. Du brauchst das Recht, die App Dateien zu nutzen, und Zugriff auf mindestens einen freigegebenen Ordner. ### Freigegebene Ordner durchsuchen ![Dateien mit den Freigaben und Papierkörben in der Seitenleiste, dem Ordner Photos/2026-summer in der Listenansicht und dem geöffneten Kontextmenü eines Fotos](../../../../../assets/screenshots/files.de.webp) _Dateien in der Listenansicht. Ein Rechtsklick auf einen Eintrag öffnet sein Kontextmenü._ Öffne **Dateien** im Pithyx-Menü. Die Seitenleiste listet unter **Freigaben** zuerst deinen Home-Ordner **home** und darunter deine freigegebenen Ordner auf; Dateien öffnet sich in deinem Home. Dein Home ist privat: Nur du und die Administratoren können es öffnen. Administratoren sehen zusätzlich **homes**, das das Home jedes anderen Benutzers als Ordner auflistet, in derselben Liste oder denselben Kacheln wie jeden Ordner; ein Doppelklick öffnet eines. Die Homes selbst lassen sich dort nicht umbenennen, verschieben oder löschen, und ihr Menü bietet nur **Öffnen**. Klicke auf einen Eintrag, um ihn zu öffnen. Ein Ordner, der gerade nicht erreichbar ist (zum Beispiel weil sein Pool offline ist), zeigt **Nicht verfügbar**. Ist die Liste leer, hast du noch keine freigegebenen Ordner, und ein Administrator muss sie anlegen. Ein freigegebener Ordner mit der Markierung **Nur lesen** lässt dich ansehen und herunterladen, aber nichts ändern. So bewegst du dich: - Doppelklicke auf einen Ordner, oder wähle ihn aus und drücke **Enter**, um ihn zu öffnen. - Nutze die Schaltflächen **Zurück**, **Vorwärts** und **Eine Ebene nach oben**, oder tippe einen Ort in das Feld **Pfad**. - **Rücktaste** oder **Alt+Hoch** geht eine Ebene nach oben. - Klicke oben in der Liste auf **Name**, **Größe** oder **Geändert**, um zu sortieren. Klicke noch einmal, um die Reihenfolge umzukehren. - Mit **Als Kacheln zeigen** oder **Als Liste zeigen** änderst du die Ansicht, mit **Komfortabel** oder **Kompakt** die Zeilenhöhe. - Das Suchfeld (angezeigt als „In“ mit dem Ordnernamen und „suchen“) sucht nach Namen im aktuellen Ordner. Die Statuszeile zeigt, wie viele Elemente der Ordner enthält oder wie viele du ausgewählt hast. Lange Ordner laden beim Scrollen seitenweise nach. Das Fenster merkt sich seinen Ordner und seine Ansicht für das nächste Mal. Wie sich eine Datei öffnet, hängt von ihrem Typ ab: Bilder, PDFs, Text, Audio und Video öffnen sich im Betrachter; andere Dateien werden heruntergeladen. Um selbst zu wählen, klicke mit der rechten Maustaste, wähle **Öffnen mit …** und dann **Betrachter**, **Herunterladen** oder eine installierte App, die angibt, diesen Dateityp zu öffnen. Namen, die mit `.pithyx-upload-` beginnen, und der Ordner `.pithyx-trash` sind intern und werden nicht angezeigt. Klicke mit der rechten Maustaste auf ein Element für sein Menü: **Öffnen**, **Herunterladen**, **Öffnen mit …**, **Kopieren**, **Ausschneiden**, **Umbenennen**, **Frühere Versionen**, **In den Papierkorb** und **Endgültig löschen**. Klicke mit der rechten Maustaste auf eine freie Stelle für **Neuer Ordner**, **Hochladen**, **Einfügen** (nachdem du etwas kopiert oder ausgeschnitten hast) und **Alles auswählen**. Aktionen, die etwas ändern, erscheinen nur, wenn du im freigegebenen Ordner schreiben darfst. #### Frühere Versionen Hat ein Administrator für den freigegebenen Ordner Wiederherstellungspunkte eingeschaltet, speichert die Box einmal am Tag eine Kopie und hält sie 7 Tage lang vor. Klicke mit der rechten Maustaste auf eine Datei oder einen Ordner und wähle **Frühere Versionen**, um sie zu sehen. Wähle einen Tag und dann **Aktuelle Version ersetzen**, oder stelle sie neben der aktuellen wieder her, mit dem Datum im Namen. Das Wiederherstellen braucht Schreibzugriff auf den Ordner. Gibt es keine Wiederherstellungspunkte, sagt die Liste, dass es noch keine früheren Versionen gibt. Wiederherstellungspunkte liegen auf denselben Platten wie die Dateien. Sie ersetzen kein Backup auf einem anderen Gerät. ### Hochladen 1. Öffne den Ordner, in den die Dateien sollen. 2. Klicke auf **Hochladen** und wähle Dateien aus, oder ziehe Dateien von deinem Computer in das Fenster. Lass sie auf einem Ordner fallen, um sie darin abzulegen. 3. Verfolge den Fortschritt in der Schaltfläche für Übertragungen in der Taskleiste. Sie zeigt die Geschwindigkeit und die Restzeit und hat eine Schaltfläche, um eine Übertragung abzubrechen. Gut zu wissen: - Du brauchst Schreibzugriff auf den freigegebenen Ordner. - Dateien werden nacheinander hochgeladen. - Es gibt keine Begrenzung der Dateigröße außer dem freien Platz des Pools. - Eine Datei erscheint im Ordner erst, wenn sie vollständig angekommen ist. Bricht die Verbindung ab, wird nichts gespeichert, und du lädst die Datei erneut hoch. Ein Fortsetzen gibt es nicht. - Die hochgeladene Datei gehört deinem Konto auf der Box. - Gibt es einen Namen schon, fragt Dateien, was zu tun ist (siehe unten). ### Kopieren, Verschieben und Konflikte ![Der Dialog Namen gibt es schon mit den Knöpfen Abbrechen, Überspringen, Ersetzen und Beide behalten](../../../../../assets/screenshots/files-conflict.de.webp) _Der Dialog, wenn es die Namen im Zielordner schon gibt._ - **Kopieren und Einfügen:** Wähle Elemente aus, drücke **Strg+C** (oder **Cmd+C**), öffne den Zielordner und drücke **Strg+V**. **Strg+X** schneidet aus, statt zu kopieren. - **Ziehen und Ablegen:** Elemente in einen anderen Ordner oder auf eine Freigabe in der Seitenleiste zu ziehen, verschiebt sie. Halte beim Ablegen **Strg** oder **Alt** gedrückt, um zu kopieren. - **Umbenennen:** Drücke **F2** oder wähle **Umbenennen**. Ein Name darf nicht leer sein, kein `/` enthalten und höchstens 255 Bytes lang sein. - **Neuer Ordner:** Wähle **Neuer Ordner** und tippe dann seinen Namen. Kopieren und Verschieben laufen im Hintergrund, mit Fortschritt und einer Abbrechen-Schaltfläche. Eine Anfrage verarbeitet bis zu 1000 ausgewählte Elemente. Symbolische Links werden nicht kopiert. Ein Ordner lässt sich nicht in sich selbst kopieren oder verschieben. Hat das Ziel schon Elemente mit denselben Namen, bietet ein Dialog mit dem Titel **Namen gibt es schon** an: - **Überspringen**: die vorhandenen Elemente in Ruhe lassen. - **Ersetzen**: Dateien werden ersetzt, Ordner zusammengeführt. - **Beide behalten**: das neue Element bekommt eine Nummer, zum Beispiel `Report (2).pdf`. - **Abbrechen**. Zum Herunterladen wählst du **Herunterladen** oder öffnest eine Datei, die der Betrachter nicht zeigen kann. ### Der Papierkorb ![Der Papierkorb der Freigabe Photos mit zwei gelöschten Fotos, ihrem ursprünglichen Pfad und den Daten, und den Knöpfen Wiederherstellen, Endgültig löschen und Papierkorb leeren](../../../../../assets/screenshots/files-recycle-bin.de.webp) _Jede Freigabe hat ihren eigenen Papierkorb mit dem Datum, an dem ein Eintrag endgültig gelöscht wird._ **In den Papierkorb** (die Taste **Entf**) löscht eine Datei nicht. Sie verschiebt sie in den Papierkorb ihres freigegebenen Ordners oder deines Homes. Dateien über SMB, WebDAV oder FTP zu löschen, tut dasselbe. Um einen Papierkorb zu sehen, klicke in der Seitenleiste auf **Papierkorb** und wähle den freigegebenen Ordner. Jeder Eintrag zeigt, woher er kam und wann er gelöscht wurde. Mit **Wiederherstellen** bekommst du ihn in seinem ursprünglichen Ordner zurück; fehlende übergeordnete Ordner werden angelegt. **Endgültig löschen** entfernt einzelne Elemente. **Papierkorb leeren** entfernt alles im Papierkorb dieses Ordners. Beides fragt vorher nach, und du brauchst Schreibzugriff. Dateien bleiben standardmäßig 30 Tage im Papierkorb, dann löscht die Box sie. Der Papierkorb zeigt den verwendeten Zeitraum als Hinweis oben an. Nur ein Administrator kann diesen Zeitraum ändern. Um den Papierkorb zu überspringen, drücke **Umschalt+Entf** oder wähle **Endgültig löschen**. Nach der Frage **Endgültig löschen?** sind die Elemente endgültig weg. Löschen über SFTP nutzt den Papierkorb nicht: Die Dateien sind sofort weg. ### Vorschaubilder und der Betrachter **Vorschaubilder.** Dateien zeigt kleine Vorschauen für JPEG-, PNG-, WebP- und GIF-Bilder. Andere Typen, auch Videos und HEIC-Bilder, zeigen ein Symbol. Vorschauen werden gezeichnet, wenn sie ins Bild kommen, und die Box hält sie in einem Cache auf dem Pool (bis zu 2 GB). Sehr große Bilder bekommen keine Vorschau: Die Grenzen sind 256 MiB pro Datei und 50 Millionen Pixel. **Der Betrachter** öffnet sich in einem eigenen Fenster. Er zeigt: - **Bilder:** JPEG, PNG, WebP, GIF, AVIF, BMP, ICO und SVG. Zoome mit der Werkzeugleiste oder drücke **+**, **-** und **0** (an das Fenster anpassen). - **PDF-Dateien** - **Text- und Code-Dateien**, als reinen Text. Nur das erste Megabyte wird angezeigt; lade die Datei herunter, um den Rest zu sehen. - **Audio und Video** in den Formaten, die dein Browser abspielen kann. Im Betrachter gehen **Pfeil links** und **Pfeil rechts** zur vorherigen und nächsten Datei im selben Ordner. Bei Typen, die er nicht kennt, bittet der Betrachter dich, die Datei herunterzuladen. ### Tastenkürzel | Tasten | Aktion | | --------------------------------------------- | --------------------------------------------------------------------------- | | Pfeiltasten | Die Auswahl bewegen (Umschalt erweitert sie, Strg bewegt, ohne auszuwählen) | | **Pos1**, **Ende**, **Bild auf**, **Bild ab** | Durch die Liste springen | | **Enter** | Öffnen | | **Leertaste** | Auswählen (Strg+Leertaste schaltet um) | | **Rücktaste**, **Alt+Hoch** | Eine Ebene nach oben | | **F2** | Umbenennen | | **Entf** | In den Papierkorb | | **Umschalt+Entf** | Endgültig löschen | | **Strg+A** | Alles auswählen | | **Strg+C**, **Strg+X**, **Strg+V** | Kopieren, ausschneiden, einfügen | | **Esc** | Die Auswahl aufheben | | **Umschalt+F10** oder die Menütaste | Das Kontextmenü öffnen | Siehe auch [Von anderen Geräten zugreifen](https://pithyx.org/de/docs/user/file-access/) und [Freigegebene Ordner](https://pithyx.org/de/docs/admin/shared-folders/). ## Von anderen Geräten zugreifen > Von Windows, macOS, Linux und Handys über SMB, SFTP, WebDAV und FTP auf deine freigegebenen Ordner zugreifen. Source: https://pithyx.org/de/docs/user/file-access/ Markdown: https://pithyx.org/de/docs/user/file-access.md Neben der Dateien-App lassen sich deine freigegebenen Ordner auch von anderen Computern und Geräten aus öffnen, als Netzlaufwerk oder über ein Dateiübertragungsprogramm. Pithyx bietet vier Wege: SMB, SFTP, WebDAV und FTP. Du meldest dich mit deinem Pithyx-Benutzernamen und -Passwort an. Frag einen Administrator, welche davon für dich eingeschaltet sind. In den folgenden Schritten ist `` der Name oder die IP-Adresse, mit der du den Desktop öffnest, zum Beispiel `192.168.1.50`. ### Welches Protokoll du nutzen solltest ![Einstellungen, Dateidienste, mit SFTP aus, WebDAV an, FTP aus und den Adressen zum Verbinden, etwa sftp://pithyx und https://pithyx:7484/webdav/](../../../../../assets/screenshots/file-services.de.webp) _Ein Administrator schaltet die Dateidienste unter Einstellungen > Dateidienste ein; jede Karte zeigt die Adresse dafür._ | Protokoll | Wofür | Hinweise | | ---------- | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- | | **SMB** | Ein Netzlaufwerk unter Windows, macOS und Linux für die tägliche Arbeit | Braucht SMB 3. Ältere Systeme können sich nicht verbinden. Frühere Versionen und der Papierkorb funktionieren. | | **SFTP** | Verschlüsselte Übertragungen mit einem Programm wie FileZilla oder WinSCP oder dem Befehl `sftp` | Du siehst nur dein Home und deine freigegebenen Ordner und bekommst keine Shell. Nur Anmeldung per Passwort. | | **WebDAV** | Programme und Dateimanager, die einen Web-Ordner einbinden können | Adresse: `https://:7484/webdav/` | | **FTP** | Geräte, die weder SFTP noch WebDAV kennen, etwa Scanner | Nur der passive Modus. Mit TLS verschlüsselt; unverschlüsseltes FTP nur, wenn ein Administrator es erlaubt. | > **Caution:** > > Der Desktop und WebDAV nutzen HTTPS. Windows und macOS binden WebDAV erst ein, wenn der Computer dem Root-Zertifikat der Box vertraut; ein Administrator findet es unter Einstellungen > **Zertifikate**. Jeder sieht nur die freigegebenen Ordner, die seine Rechte erlauben, mit der Zugriffsstufe, die ein Administrator ihm gegeben hat: kein Zugriff, **Lesen** oder **Lesen und schreiben**. Administratoren erreichen jeden freigegebenen Ordner. ### Dein Home-Ordner Neben den freigegebenen Ordnern hat jeder Benutzer einen privaten Home-Ordner, den nur er und die Administratoren öffnen können. Über SMB ist er die Freigabe `home` (`\\\home` unter Windows, `smb:///home` unter macOS und Linux), über SFTP, WebDAV und FTP der Ordner `home` ganz oben. Administratoren finden zusätzlich das Home jedes Benutzers in der Freigabe oder dem Ordner `homes`. Dateien, die du in deinem Home löschst, landen in seinem Papierkorb, außer in der SMB-Freigabe `homes`, wo sie sofort weg sind. Siehe [Home-Ordner](https://pithyx.org/de/docs/admin/home-folders/). Die Zwei-Faktor-Anmeldung gilt hier nicht. Diese Dienste fragen nur nach deinem Passwort. ### Windows **SMB (Netzlaufwerk)** 1. Öffne den Datei-Explorer. 2. Klicke in die Adressleiste, tippe `\\\` und drücke **Enter**. 3. Melde dich auf Nachfrage mit deinem Pithyx-Benutzernamen und -Passwort an. Hake die Option zum Speichern der Zugangsdaten an, wenn du magst. 4. Deine freigegebenen Ordner erscheinen. Um einen als Laufwerksbuchstaben zu behalten, klicke mit der rechten Maustaste darauf und wähle **Netzlaufwerk verbinden**. Die Box kündigt sich nicht im Netzwerk an, deshalb erscheint sie im Explorer nicht unter **Netzwerk**. Tippe immer die Adresse ein. Im Explorer zeigt **Vorgängerversionen** die täglichen Wiederherstellungspunkte eines freigegebenen Ordners. Dateien, die du löschst, landen im Papierkorb des freigegebenen Ordners, und du kannst sie in der Dateien-App wiederherstellen. **SFTP und FTP:** Installiere ein Programm wie FileZilla oder WinSCP und verbinde dich mit ``. **WebDAV:** Klicke im Datei-Explorer mit der rechten Maustaste auf **Dieser PC**, wähle **Netzlaufwerk verbinden** und gib `https://:7484/webdav/` ein. Windows verbindet sich erst, wenn es dem Root-Zertifikat der Box vertraut. Verweigert es trotzdem, nutze SMB oder ein WebDAV-Programm. ### macOS **SMB (Netzlaufwerk)** 1. Wähle im Finder **Gehe zu** und dann **Mit Server verbinden**. 2. Tippe `smb:///` und klicke auf **Verbinden**. 3. Melde dich mit deinem Pithyx-Benutzernamen und -Passwort an. **SFTP:** Der Finder kann SFTP nicht durchsuchen. Nutze ein SFTP-Programm und verbinde dich mit `sftp://`. **WebDAV:** Gib unter **Mit Server verbinden** `https://:7484/webdav/` ein. macOS verbindet sich, sobald es dem Root-Zertifikat der Box vertraut. **FTP:** Nutze ein Programm, das FTP mit TLS unterstützt, und wähle „explizites FTP über TLS“. ### Linux **SMB:** Die meisten Dateimanager akzeptieren `smb:///` in der Adressleiste. Auf der Kommandozeile kannst du mit `mount -t cifs` und `vers=3.0` einbinden. **SFTP:** Nutze `sftp://` in deinem Dateimanager oder führe aus: ```sh sftp @ ``` SFTP akzeptiert nur Passwörter. Öffentliche Schlüssel werden für SFTP-Benutzer nicht verwendet. **WebDAV:** Ein Dateimanager mit WebDAV-Unterstützung akzeptiert `davs://:7484/webdav/`. **FTP:** Nutze einen Client mit explizitem FTP über TLS, etwa `lftp`. ### Handys Es gibt keine spezielle App. Jede App, die SMB 3, SFTP, WebDAV oder FTP mit TLS spricht, kann sich mit den obigen Einstellungen verbinden. Oder nutze den Desktop selbst: Er funktioniert im Browser eines Handys, einschließlich der Dateien-App. Siehe [Der Desktop](https://pithyx.org/de/docs/user/desktop/#handys-und-tablets). Für FTP hat die Box ein eigenes Zertifikat. Dein Programm fragt einmal, ob du ihm vertraust. Vergleiche den Fingerabdruck, den es zeigt, mit dem **Fingerabdruck des Zertifikats (SHA-256)**, den ein Administrator in den Einstellungen unter **Dateidienste** nachlesen kann. FTP lauscht auf Port 21, und passive Datenverbindungen nutzen die Ports 50000 bis 50099. ### Anmelden - Nutze deinen Pithyx-Benutzernamen (in Kleinbuchstaben) und dein Passwort. - Dein Konto braucht das Recht für das Protokoll: **SMB (Netzlaufwerke)**, **SFTP**, **WebDAV** oder **FTP**. Neue Benutzer bekommen standardmäßig das SMB-Recht. Die anderen gibt dir ein Administrator. - Dein Konto muss aktiv sein. - **SMB und SFTP:** Wird eine Verbindung mit dem richtigen Passwort abgelehnt, melde dich einmal am Web-Desktop an, oder bitte einen Administrator, ein neues Passwort für dich zu setzen. So lernen die Dienste dein Passwort. - Nach fünf falschen Versuchen für denselben Benutzernamen von derselben Adresse innerhalb von fünf Minuten pausieren weitere Versuche für kurze Zeit. - Dateien, die du anlegst, gehören deinem Konto auf der Box. Berechtigungen kannst du unter Windows nicht ändern. - Ist ein Protokoll ausgeschaltet, kannst du dich damit nicht verbinden. Ein Administrator schaltet Dienste in den Einstellungen unter **Dateidienste** ein. Siehe [Dateidienste](https://pithyx.org/de/docs/admin/file-services/). Wenn etwas nicht funktioniert, sind die üblichen Ursachen ein fehlendes Recht, ein deaktiviertes Konto oder ein ausgeschaltetes Protokoll. ## Apps benutzen > Apps öffnen, mehrere Fenster derselben App und was eine App von deinen Daten sehen darf. Source: https://pithyx.org/de/docs/user/apps/ Markdown: https://pithyx.org/de/docs/user/apps.md Apps öffnen sich in Fenstern auf dem Desktop, wie Dateien oder Einstellungen. Einige Apps gehören zu Pithyx; Administratoren können im Store weitere installieren. Jede App läuft in einer Sandbox und sieht nur, was ein Administrator ihr erlaubt hat, begrenzt durch das, was dein eigenes Konto darf. ### Eine App öffnen Öffne das Pithyx-Menü und klicke auf eine App, oder tippe einen Teil ihres Namens in das Suchfeld. Du kannst eine App auch über eine Verknüpfung auf dem Desktop öffnen oder dort eine ablegen mit **Zum Desktop hinzufügen**. Siehe [Der Desktop](https://pithyx.org/de/docs/user/desktop/). Die Apps, die zu Pithyx gehören, sind **Dateien**, **Betrachter**, **Speicher**, **Einstellungen**, **Ressourcenmonitor**, **Protokoll-Center**, **Über Pithyx** und **Store**. Du siehst nur die Apps, die du nutzen darfst: - **Dateien** und **Betrachter** stehen neuen Benutzern standardmäßig zur Verfügung. - **Speicher**, **Einstellungen**, **Ressourcenmonitor**, **Protokoll-Center** und **Store** sind für Administratoren. - **Über Pithyx** steht allen offen. - Apps, die ein Administrator installiert hat, erscheinen bei den Benutzern, die der Administrator gewählt hat. Frag einen Administrator, wenn dir eine App fehlt. Liegen die Daten einer App auf einem Pool, der offline oder gesperrt ist, lässt sich die App erst öffnen, wenn der Pool wieder da ist. ### Ein Fenster und mehrere Fenster Eine App entscheidet, wie viele Fenster sie haben darf: - **Ein Fenster:** Öffnest du die App erneut, kommt ihr Fenster nach vorn, statt ein zweites zu öffnen. Das gilt pro Gerät, ein anderer Browser hat also sein eigenes Fenster. Speicher, Einstellungen, Ressourcenmonitor, Protokoll-Center, Über Pithyx und der Store funktionieren so. - **Mehrere Fenster:** Jeder Klick öffnet ein neues Fenster. Dateien und Betrachter funktionieren so. Fenster kommen zurück, nachdem du die Seite neu geladen oder dich erneut angemeldet hast. Siehe [Layout pro Gerät](https://pithyx.org/de/docs/user/desktop/#layout-pro-ger%C3%A4t). Insgesamt kannst du 50 Fenster offen haben. ### Worauf eine App zugreifen darf Eine App, die du aus dem Store installiert hast, läuft in einem eigenen Frame, ohne Zugriff auf den Rest des Desktops, auf deine Cookies oder dein Passwort. Sie spricht mit Pithyx nur über einen kontrollierten Kanal. Ein Administrator sieht vor der Installation, was eine App anfragt. Die möglichen Berechtigungen sind: | Berechtigung | Was sie der App erlaubt | | --------------------------------- | -------------------------------------------------------------------------------------------- | | **Dateien lesen** | Dateien in den freigegebenen Ordnern lesen, die du nutzen darfst | | **Dateien ändern** | Dateien in den freigegebenen Ordnern anlegen, ändern und löschen, in die du schreiben darfst | | **Freigegebene Ordner sehen** | Sehen, welche freigegebenen Ordner du nutzen darfst | | **Benachrichtigungen** | Diesem Benutzer Benachrichtigungen zeigen | | **Alle Nutzer und Gruppen sehen** | Die Namen aller Benutzer und Gruppen auf der Box sehen | | **Internet** | Sich mit Servern im Internet verbinden. Ohne sie bleibt die App auf dieser Box. | Gut zu wissen: - Eine App handelt mit deinen Rechten. Sie sieht nie einen freigegebenen Ordner, den du nicht nutzen kannst, und sie schreibt nicht dort, wo du nur lesen darfst. Mit **Dateien lesen** und **Dateien ändern** kann sie die ganze Datei-API der Box in deinen freigegebenen Ordnern nutzen, nicht nur Dateien, die du ausgewählt hast. - Ein Administrator kann einer App eine Berechtigung entziehen. Die Änderung erreicht offene Fenster innerhalb weniger Minuten. - Entzieht dir ein Administrator das Recht, eine App zu nutzen, schließen sich ihre Fenster. - Apps mit einem Backend betreiben einen eigenen Dienst in Containern auf der Box. Je nach App läuft das Backend die ganze Zeit, oder es startet, wenn jemand die App öffnet, und stoppt wieder, nachdem das letzte Fenster geschlossen wurde (10 Minuten später, sofern die App keine andere Zeit festlegt). - Apps, die aus einer Datei installiert wurden, prüft das Projekt nicht. Administratoren sollten nur Apps von Entwicklern installieren, denen sie vertrauen. Für Administratoren: [Apps und Store](https://pithyx.org/de/docs/admin/apps-and-store/). ### Wenn eine App nicht startet - **Das Fenster schließt sich sofort, oder die App ist weg.** Ein Administrator hat sie möglicherweise deaktiviert oder entfernt oder dir das Recht entzogen, sie zu nutzen. Frag einen Administrator. - **Die App ist beim ersten Start langsam.** Ein Backend, das gestoppt war, braucht einen Moment zum Starten. Eine Anfrage an es wartet bis zu 30 Sekunden. Schlägt sie trotzdem fehl, siehst du „Das Backend der App läuft nicht oder antwortet nicht. Versuch es gleich noch einmal.“ - **Eine Meldung erwähnt den Container-Dienst** oder dass das Backend nicht starten konnte. Ein Administrator kann das Protokoll der App im Protokoll-Center lesen. - **Eine Meldung sagt, dass der Ordner für den Speicher der App nicht bereit ist.** Der Pool mit den Daten der App fehlt, ist offline oder gesperrt. Niemand kann die App öffnen, bis er wieder da ist. - **Der Zugang der App ist abgelaufen** („Schließ die App und öffne sie erneut.“). Schließe das Fenster und öffne die App erneut. - **Die Verbindung zwischen der App und dem Desktop ist geschlossen.** Öffne die App erneut. - **Die App antwortet nicht.** Nach fünf Sekunden fragt ein Dialog, ob du **Warten** oder **Trotzdem schließen** willst. Beim Schließen gehen nicht gespeicherte Änderungen verloren. - **Die App braucht eine neuere Version von Pithyx.** Frag einen Administrator. ## Dein Konto > Passwort, Zwei-Faktor-Anmeldung, wie lange du angemeldet bleibst, und persönliche Einstellungen wie Sprache, Theme und Akzentfarbe. Source: https://pithyx.org/de/docs/user/account/ Markdown: https://pithyx.org/de/docs/user/account.md Dein Konto sind dein Benutzername und dein Passwort auf der Box. Dasselbe Passwort meldet dich am Desktop und an Dateidiensten wie SMB und SFTP an. Du kannst dein eigenes Passwort nicht selbst ändern: Ein Administrator setzt ein neues. Du kannst die Zwei-Faktor-Anmeldung einschalten und Sprache, Theme, Akzentfarbe und Hintergrundbild wählen. ### Das Passwort ändern Pithyx kennt keinen Weg, dass Benutzer ihr eigenes Passwort ändern, und kein Zurücksetzen per E-Mail. Bitte einen Administrator, ein neues zu setzen. Der Administrator macht das unter Einstellungen > **Benutzer** mit **Neues Passwort**. Du wirst dann überall abgemeldet und meldest dich mit dem neuen Passwort an. Auch die Dateidienste nutzen das neue Passwort. Ein Passwort muss haben: - mindestens 8 und höchstens 1024 Zeichen, - keine Übereinstimmung mit der eingebauten Liste weit verbreiteter Passwörter. Es gibt keine Regeln zu Großbuchstaben oder Sonderzeichen. Eine lange Passphrase aus mehreren Wörtern lässt sich leichter merken als ein kompliziertes Passwort. Tippt ein Administrator ein neues Passwort ein, zeigt die Seite eine Stärkeanzeige (**Schwach**, **Mittel**, **Stark**) und Hinweise. Die Anzeige rät nur; ein schwaches Passwort, das lang genug ist, wird akzeptiert. Wenn du Administrator bist und dein Passwort vergessen hast, nutze den Wiederherstellungsschlüssel. Siehe [Wiederherstellen und neu installieren](https://pithyx.org/de/docs/install/recovery/). ### Zwei-Faktor-Anmeldung ![Der Dialog Zwei-Faktor-Authentifizierung mit einem QR-Code, dem Schlüssel zur Eingabe von Hand, dem Feld Code und dem Knopf Einschalten](../../../../../assets/screenshots/account-two-factor-qr.de.webp) _Scanne den QR-Code mit einer Authenticator-App und gib dann den Code ein, den sie zeigt._ ![Der Dialog Deine Wiederherstellungscodes mit zehn Einmalcodes und dem Knopf Codes kopieren](../../../../../assets/screenshots/account-recovery-codes.de.webp) _Nach dem ersten Code zeigt der Dialog einmalig zehn Wiederherstellungscodes. Diese gehören zu einer gelöschten Testmaschine._ Die Zwei-Faktor-Anmeldung verlangt zusätzlich zu deinem Passwort einen Code aus einer Authenticator-App auf deinem Handy. Sie ist optional und gilt pro Benutzer. Jede App für zeitbasierte Codes funktioniert (6 Ziffern, 30 Sekunden). So schaltest du sie ein: 1. Öffne das Pithyx-Menü, klicke auf deinen Namen und wähle **Zwei-Faktor-Authentifizierung**. 2. Klicke auf **Einrichten**. 3. Scanne den QR-Code mit deiner Authenticator-App, oder gib den darunter angezeigten Schlüssel von Hand ein. 4. Tippe den Code, den die App zeigt, in **Code** ein und klicke auf **Einschalten**. 5. Bewahre die Wiederherstellungscodes auf. Pithyx zeigt 10 Codes einmal an. Jeder funktioniert ein Mal anstelle eines Codes aus der App. Klicke auf **Codes kopieren** und bewahre sie sicher auf. Wenn du dich anmeldest, fragt Pithyx nach dem Passwort zusätzlich nach dem Code. Klicke auf **Stattdessen einen Wiederherstellungscode verwenden**, wenn du dein Handy nicht hast. Ein Code lässt sich nur einmal benutzen. Du hast fünf Minuten, um den zweiten Schritt abzuschließen. Um sie auszuschalten, öffne denselben Dialog, tippe **Dein Passwort** ein und klicke auf **Ausschalten**. Richtest du sie erneut ein, ersetzt das den alten Schlüssel und erzeugt neue Wiederherstellungscodes. > **Note:** > > Die Zwei-Faktor-Anmeldung schützt nur den Desktop. SMB, SFTP, WebDAV und FTP nutzen allein dein Passwort. Bewahre die Wiederherstellungscodes sicher auf. Wenn du sowohl dein Handy als auch die Codes verlierst, bitte einen Administrator um Hilfe. ### Sitzungen und Geräte Pithyx zeigt keine Liste deiner Sitzungen und kann deine anderen Geräte nicht vom Desktop aus abmelden. Das passiert stattdessen: - Du bleibst bis zu 7 Tage angemeldet, ohne den Desktop zu benutzen, und höchstens 30 Tage insgesamt. Ein offener Desktop hält die Sitzung bis zur 30-Tage-Grenze am Leben. - **Abmelden** beendet nur die Sitzung dieses Browsers. - Setzt ein Administrator ein neues Passwort für dich oder deaktiviert er dein Konto, enden alle deine Sitzungen. - Jeder Browser wird über ein Cookie als Gerät erkannt, mit dem die Box sich deine Fenster merkt. Um die Anordnung eines anderen Geräts zu übernehmen, öffne dein Kontomenü und wähle **Desktop holen von**. Siehe [Layout pro Gerät](https://pithyx.org/de/docs/user/desktop/#layout-pro-ger%C3%A4t). - Eine abgelaufene Sitzung zeigt „Deine Sitzung ist abgelaufen. Melde dich bitte erneut an.“ ### Sprache, Theme und Akzentfarbe Öffne das Pithyx-Menü, klicke auf deinen Namen und wähle: - **Sprache**: **Automatisch** (folgt deinem Browser, Englisch oder Deutsch) oder eine Sprache mit ihrem eigenen Namen. Die Wahl gehört zu diesem Gerät. Die Anmeldeseite hat eine eigene Sprachauswahl. - **Darstellung**: **Wie das System**, **Hell** oder **Dunkel**. Auch das gehört zu diesem Gerät. - **Akzentfarbe**: **Petrol**, **Ozean**, **Indigo**, **Pflaume**, **Moos** oder **Graphit**. Sie wird für dein Konto gespeichert und ist auf allen deinen Geräten gleich. - **Hintergrundbild**: **Pithyx-Boxen** oder **Schlicht**, ebenfalls für dein Konto gespeichert. Datum, Uhrzeit und Zahlenformate folgen der Region und Zeitzone, die ein Administrator in den Einstellungen gesetzt hat. Deinen Anzeigenamen legt ein Administrator fest; du kannst ihn nicht selbst bearbeiten. ## Speicher und Pools > Festplatten, ZFS-Pools, Datasets, einen Pool importieren und erweitern, und warum manche Platten abgelehnt werden. Source: https://pithyx.org/de/docs/admin/storage/ Markdown: https://pithyx.org/de/docs/admin/storage.md Die App Speicher (nur für Administratoren) legt die ZFS-Pools an, die alle Daten der Box enthalten, und verwaltet sie. Pithyx nutzt die Systemplatte nie für einen Pool, zeigt für jede Platte, ob sie verwendet werden darf, und verlangt die Eingabe der Seriennummer, bevor eine Platte mit Daten gelöscht wird. Änderungen laufen im Hintergrund, und **Befehle anzeigen** listet die genauen Befehle auf, bevor etwas ausgeführt wird. ### Bewertung der Platten ![Speicher, Platten, mit der Spalte Für einen neuen Pool: zwei Systemplatten Nicht verfügbar, vier leere Platten Verfügbar und eine Platte mit Partitionen Bestätigung nötig](../../../../../assets/screenshots/storage-disks.de.webp) _Der Reiter Platten sagt für jede Platte, ob ein neuer Pool sie verwenden darf._ Die Spalte **Für einen neuen Pool** zeigt pro Platte eine von drei Bewertungen: **Verfügbar**, **Bestätigung nötig** oder **Nicht verfügbar**. Pithyx prüft die Bewertung direkt vor jedem Befehl eines Plans erneut, sodass eine Platte, die sich nach deinem Blick geändert hat, erkannt wird. Eine Platte ist **Nicht verfügbar**, wenn: - sie das System enthält (`/`, `/boot`, `/boot/efi` oder `/var/lib/pithyx`, auch über Partitionen, LVM, md oder einen anderen Pool): „Enthält das System. Wird nie für Pools verwendet.“ - sie schreibgeschützt ist oder ein Dateisystem darauf in Benutzung ist; - sie schon zu einem Pool gehört; - eine andere Platte dieselbe Seriennummer meldet, sodass sich beide nicht unterscheiden lassen; - sie Daten enthält, aber keine Seriennummer zum Bestätigen hat. Bei einer Platte ist **Bestätigung nötig**, wenn sie Partitionen, Dateisysteme oder andere Signaturen hat oder noch nicht geprüft wurde. Bei einer Platte mit Inhalt sagt Pithyx „Enthält Daten“ und listet die gefundenen Partitionen, Dateisysteme und Signaturen auf. Gib ihre Seriennummer genau so ein, wie sie angezeigt wird, um sie zu verwenden. Leere Platten sind **Verfügbar**. Eine Ersatzplatte (siehe unten) braucht immer ihre Seriennummer, auch wenn sie leer ist. > **Alles auf einer bestätigten Platte geht verloren:** > > Die Bestätigung mit der Seriennummer löscht die Platte: Pithyx führt bei Pool-Mitgliedern `zpool labelclear -f` aus, danach `wipefs --all` auf den Partitionen und der Platte. Es gibt kein Rückgängigmachen. Vergleiche die Seriennummer mit dem Aufkleber auf der Platte. Wenn sich eine Platte geändert hat, nachdem der Plan angezeigt wurde, wird nichts geändert, und du bekommst [`storage.plan.stale`](https://pithyx.org/de/docs/reference/errors/#storage.plan.stale). Ein Plan läuft nach 10 Minuten ab ([`storage.plan.expired`](https://pithyx.org/de/docs/reference/errors/#storage.plan.expired)); zeige ihn dann erneut an. ### Einen Pool anlegen ![Der Assistent Pool anlegen bei Schritt 2, Aufbau, für vier Platten mit empfohlenem RAID-Z1 und den Karten Spiegel, Spiegelpaare, RAID-Z1, RAID-Z2 und Stripe](../../../../../assets/screenshots/storage-layout.de.webp) _Schritt 2 des Assistenten vergleicht die Aufbauten für die gewählten Platten und markiert den empfohlenen._ Öffne Speicher und wähle **Pool anlegen…**. Der Assistent hat vier Schritte: **Platten**, **Aufbau**, **Verschlüsselung** und **Name und Prüfung**. Platten werden über ihre Namen unter `/dev/disk/by-id` angesprochen, sodass ein Pool einen geänderten Anschluss oder ein anderes Kabel übersteht. | Aufbau | Mindestanzahl Platten | Hinweise | | --------------------------------- | --------------------- | ------------------------------------------- | | Einzelne Platte (keine Redundanz) | 1 | genau eine Platte | | Stripe | 2 | fällt eine Platte aus, ist alles verloren | | Spiegel | 2 | | | Spiegelpaare | 4 | eine gerade Anzahl Platten | | RAID-Z1 / RAID-Z2 / RAID-Z3 | 3 / 4 / 5 | eine / zwei / drei Platten dürfen ausfallen | Der Assistent empfiehlt einen Aufbau: bei einer Platte einzeln, bei zwei Platten Spiegel, bei drei bis fünf Platten RAID-Z1, bei sechs oder mehr RAID-Z2. Bei Platten unterschiedlicher Größe zählt jede Platte so groß wie die kleinste, und der Assistent sagt dir, wie viel ungenutzt bleibt. Der Pool-Name beginnt mit einem Kleinbuchstaben, danach folgen Kleinbuchstaben, Ziffern, `-` oder `_`, höchstens 32 Zeichen. Die Namen `mirror`, `raidz`, `raidz1` bis `raidz3`, `draid`, `spare`, `log`, `cache`, `special`, `dedup` und `pithyx` sowie Namen, die mit `c0` beginnen, sind reserviert. Jeder neue Pool bekommt dieselben Optionen: `ashift=12`, `compression=lz4`, `xattr=sa`, `acltype=posixacl`, `atime=off`, `normalization=formD`. Danach legt Pithyx seine Dataset-Struktur unter `/pithyx` an: `shares`, `homes`, `apps`, `system` und `cache` (Kontingent 2,5 GiB, keine Kompression, keine automatischen Snapshots). Ein Pool, den Pithyx nicht angelegt hat, hat kein Dataset `pithyx`, und Pithyx legt darauf nichts an ([`storage.pool.not_prepared`](https://pithyx.org/de/docs/reference/errors/#storage.pool.not_prepared)). Weitere Pool-Aktionen: **Ersetzen…** (fragt immer nach der Seriennummer), **Hot Spare hinzufügen…**, **Spare entfernen**, **Offline nehmen**, **Online bringen** und **Pool löschen…**. > **Einen Pool löschen:** > > **Pool löschen…** listet jedes Dataset auf, das mit dem Pool verschwindet, und verlangt die Eingabe des Pool-Namens ([`storage.pool.name_mismatch`](https://pithyx.org/de/docs/reference/errors/#storage.pool.name_mismatch), wenn er abweicht). Löschen und Exportieren werden abgelehnt, solange Platten fehlen ([`storage.pool.disks_missing`](https://pithyx.org/de/docs/reference/errors/#storage.pool.disks_missing)) oder der Pool angehalten ist. Ein Pool zeigt einen dieser Zustände: Intakt, Beeinträchtigt, Ausgefallen, Offline, Nicht erreichbar, Entfernt, Angehalten, Unbekannt oder „Nicht angeschlossen“. Bei einem beeinträchtigten Pool wird eine Platte, die zurückkommt, von selbst neu aufgebaut (Resilver). Der Daemon holt eine zurückkehrende Platte mit `zpool online` und danach `zpool clear` zurück, jeweils mit 30 Sekunden Zeitlimit. ### Datasets und Wiederherstellungspunkte Unter **Erweitert** listet **Datasets** > **Datasets anzeigen** die Datasets mit Name, Belegt, Frei, Limit, Kompression und dem Ordner oder der Größe. Dataset-Namen bestehen aus Buchstaben, Ziffern, `.`, `-` und `_`, beginnen mit einem Buchstaben oder einer Ziffer und sind höchstens 64 Zeichen lang. - **Umbenennen…** verschiebt den Ordner; freigegebene Ordner folgen. - **Grenzen…** setzt Kontingent, Reservierung, Kompression und Record-Größe. Ein leeres Kontingent oder eine leere Reservierung bedeutet kein Limit. Kompression: aus, lz4, zle, zstd (Stufen 1 bis 19) oder gzip (1 bis 9). Record-Größe: eine Zweierpotenz von 4 KiB bis 1 MiB, Standard 128 KiB. - **Löschen…** verlangt den vollständigen Dataset-Namen und listet untergeordnete Datasets und Snapshots auf. Datasets für Home-Ordner, Apps und das System lassen sich weder umbenennen noch löschen ([`storage.dataset.managed`](https://pithyx.org/de/docs/reference/errors/#storage.dataset.managed)), und ein Dataset, das ein freigegebener Ordner nutzt, muss zuerst diesen freigegebenen Ordner verlieren. Pithyx legt noch keine Volumes (Blockgeräte) an: In dieser Version nutzt keins, denn iSCSI und virtuelle Maschinen gibt es noch nicht. Vorhandene Volumes auf einem Pool erscheinen in der Tabelle und unter Erweitert, wo du sie löschen kannst. Die Speicher-App hat keinen Bereich für Snapshots. Snapshots erscheinen in der Oberfläche als Wiederherstellungspunkte: ein Schalter pro freigegebenem Ordner unter Einstellungen > **Freigegebene Ordner**, der einmal am Tag einen Snapshot des Datasets des Ordners macht und die neuesten 7 behält, und **Frühere Versionen** in Dateien, um ältere Versionen zurückzuholen. Siehe [Freigegebene Ordner](https://pithyx.org/de/docs/admin/shared-folders/). Snapshots von Hand, Festhalten, das Zurücksetzen eines Datasets und andere Zeitpläne gibt es in der Oberfläche nicht. ### Importieren und exportieren **Pool importieren…** durchsucht die Labels aller Platten, wenn du **Platten durchsuchen** drückst; die Suche kann schlafende Platten wecken und läuft nie von selbst. Ein Pool wird zuerst schreibgeschützt als Vorschau importiert (angezeigt als „Schreibgeschützt (Vorschau)“): Es wird nichts eingehängt und nichts geändert. Wähle dann **Zur Nutzung importieren…**, was ihn erneut importiert und die Datasets einhängt, die sicher einzuhängen sind, oder **Exportieren**, um die Vorschau zu beenden ([`storage.import.preview_required`](https://pithyx.org/de/docs/reference/errors/#storage.import.preview_required), wenn du die Vorschau überspringst). Datasets, die sich nicht sicher einhängen lassen, bleiben ausgehängt (`canmount=noauto`) und nennen einen Grund: Sie würden einen Systemordner überdecken, etwas verdecken, das dort eingehängt ist, einen Ordner mit einem anderen Dataset teilen oder sind verschlüsselt und gesperrt. Freigegebene Ordner und Apps darauf halten an. Ein Pool, der zuletzt von einem anderen System benutzt wurde, zeigt „Von einem anderen System benutzt“. Er braucht **Trotzdem importieren (erzwingen)** und die Eingabe des Pool-Namens ([`storage.import.force_required`](https://pithyx.org/de/docs/reference/errors/#storage.import.force_required)). Ist der Name vergeben, wähle **Neuer Name für den Pool**. **Exportieren…** hängt die Datasets aus und listet auf, was dadurch nicht mehr verfügbar ist; die Daten bleiben auf den Platten, und der Pool kann in ein anderes System umziehen. ### Einen Pool erweitern **Platten hinzufügen…** fügt dem Pool eine neue Gruppe von Platten (ein Vdev) hinzu: einzeln, Spiegel (2 Platten), RAID-Z1 (3), RAID-Z2 (4) oder RAID-Z3 (5). Der Dialog warnt, wenn die neue Gruppe die Redundanz senkt, wenn sich ihr Aufbau von den vorhandenen unterscheidet (dafür muss der Pool-Name eingegeben werden) und dass sich die Platten nie wieder aus dem Pool entfernen lassen. **Um eine Platte erweitern…** erweitert eine RAID-Z-Gruppe um eine Platte. Der Pool bleibt nutzbar, der Schritt ist nicht umkehrbar und verlangt den Pool-Namen, es läuft immer nur eine Erweiterung ([`storage.pool.expanding`](https://pithyx.org/de/docs/reference/errors/#storage.pool.expanding)), und Daten, die schon auf dem Pool liegen, behalten ihr altes Verhältnis von Daten zu Parität, bis sie neu geschrieben werden. > **Note:** > > Die App Speicher hat keine Schaltfläche, um eine einzelne Platte später in einen Spiegel zu verwandeln. ### Verschlüsselung Die Pool-Verschlüsselung ist in dieser Version nicht verfügbar. Der Assistent fragt „Soll der Pool verschlüsselt werden?“, und die Antwort ist Pflicht; **Keine Verschlüsselung** funktioniert, und **Mit einem Schlüssel verschlüsseln** wird mit [`storage.encryption.unavailable`](https://pithyx.org/de/docs/reference/errors/#storage.encryption.unavailable) abgelehnt. Ein Pool lässt sich nachträglich nicht verschlüsseln. ### Zustand und Warnungen Administratoren bekommen eine Desktop-Benachrichtigung, wenn eine Speicherwarnung auftritt oder sich verschlimmert, und eine zweite, die mit „Behoben:“ beginnt und das Problem nennt, wenn es verschwindet. Die Warnungen betreffen: Pool angehalten, beeinträchtigt, ausgefallen oder offline, eine fehlende Platte, Datenfehler, Scrub-Fehler, einen zu 80 Prozent gefüllten Pool (Warnung) oder zu 90 Prozent gefüllten Pool (kritisch) und ausfallende oder bedenkliche SMART-Werte. Du kannst eine Warnung für dich stummschalten. - **Jetzt prüfen** (Scrub), anhalten, fortsetzen und stoppen. Ein Zeitplan pro Pool: Aus, Wöchentlich oder Monatlich (Standard Monatlich). - SMART wird mit `smartctl -n standby` gelesen (30 Sekunden Zeitlimit), sodass schlafende Platten weiterschlafen. Zustände: Gesund, Warnung, Fällt aus, Kein SMART, Unbekannt. Kurze Selbsttests laufen standardmäßig wöchentlich und lange monatlich; eine schlafende Platte wird übersprungen und später erneut versucht, nie geweckt. ## Freigegebene Ordner > Freigegebene Ordner anlegen, bearbeiten und löschen, festlegen, wer sie nutzen darf, und wie Papierkorb und Wiederherstellungspunkte ihre Dateien schützen. Source: https://pithyx.org/de/docs/admin/shared-folders/ Markdown: https://pithyx.org/de/docs/admin/shared-folders.md Ein freigegebener Ordner ist ein eigenes ZFS-Dataset auf einem Pool, mit eigenem Platz, eigenen Rechten und eigenen Snapshots. Administratoren legen sie unter Einstellungen > **Freigegebene Ordner** an; Benutzer sehen nur die Ordner, für die sie ein Recht haben. Gelöschte Dateien landen in einem Papierkorb (standardmäßig 30 Tage), und tägliche Wiederherstellungspunkte halten ältere Versionen sieben Tage lang vor. ### Einen freigegebenen Ordner anlegen 1. Öffne Einstellungen > **Freigegebene Ordner** und wähle **Freigegebenen Ordner anlegen…**. 2. Gib einen **Name** ein, wähle den **Pool** und, wenn du magst, eine **Beschreibung (optional)**. 3. Hake **Befehle anzeigen** an, wenn du sehen willst, was ausgeführt wird, und wähle dann **Freigegebenen Ordner anlegen**. Gibt es keinen Pool, sagt der Dialog: „Noch kein Pool ist für freigegebene Ordner bereit. Lege zuerst in Speicher einen Pool an.“ Der Name hat 1 bis 64 Zeichen: Buchstaben, Ziffern, Leerzeichen, Punkte, Bindestriche und Unterstriche, er beginnt nicht mit einem Punkt und ist ohne Beachtung der Groß- und Kleinschreibung eindeutig ([`fs.share.invalid`](https://pithyx.org/de/docs/reference/errors/#fs.share.invalid), [`fs.share.exists`](https://pithyx.org/de/docs/reference/errors/#fs.share.exists)). Die Beschreibung hat höchstens 200 Zeichen in einer Zeile. Die Namen `global`, `home`, `homes`, `printers`, `print$` und `ipc$` sind reserviert ([`fs.share.name_reserved`](https://pithyx.org/de/docs/reference/errors/#fs.share.name_reserved)); `home` und `homes` sind die [Home-Ordner](https://pithyx.org/de/docs/admin/home-folders/). Das Dataset bekommt einen aus dem Ordnernamen abgeleiteten Namen (Kleinbuchstaben, Akzente aufgelöst, andere Zeichen zu `-`) unter `/pithyx/shares/`, eingehängt unter `//`. Neue Ordner starten mit eingeschalteten Wiederherstellungspunkten. Um die Größe eines freigegebenen Ordners zu begrenzen, setze in Speicher ein Kontingent auf sein Dataset (**Grenzen…**); der Dialog hat kein Größenfeld. > **Note:** > > Einen vorhandenen Ordner als freigegebenen Ordner einzutragen, funktioniert nur auf Entwicklungsmaschinen ([`fs.share.folder_dev_only`](https://pithyx.org/de/docs/reference/errors/#fs.share.folder_dev_only)). Auf einer normalen Box ist jeder freigegebene Ordner ein neues Dataset. ### Regeln für Ordner ![Der Dialog Photos bearbeiten mit den Schaltern für den Netzwerkzugriff und den Rechten: die Gruppe family mit Lesen und schreiben, die Benutzer mit dem Zugriff, den sie insgesamt bekommen](../../../../../assets/screenshots/shared-folders-edit.de.webp) _Der Bearbeiten-Dialog einer Freigabe: Netzwerkzugriff pro Protokoll und Rechte pro Gruppe und Benutzer._ Der Bearbeiten-Dialog hat drei Teile. - **Name und Beschreibung.** Das Umbenennen ändert nur den Namen, den Benutzer sehen; das Dataset behält seinen Namen. - **Rechte.** Pro Benutzer und pro Gruppe: Kein Zugriff, Lesen oder Lesen und schreiben. Ein Benutzer bekommt das Meiste, was ihm selbst oder einer seiner Gruppen gegeben ist, und Administratoren können immer alles lesen und ändern. Jeder Benutzer ist in der Gruppe users, angezeigt als „alle Benutzer“. Änderungen gelten sofort. Siehe [Berechtigungen](https://pithyx.org/de/docs/admin/permissions/). - **Netzwerkzugriff.** Die Schalter **Über SMB anbieten**, **Über SFTP zeigen**, **Über WebDAV anbieten** und **Über FTP anbieten**, standardmäßig alle an, und **Verschlüsselung über SMB verlangen** (standardmäßig aus; ältere Clients ohne SMB-Verschlüsselung können sich dann nicht verbinden). Ein Benutzer braucht sowohl das Protokollrecht als auch den Schalter am Ordner. Siehe [Dateidienste](https://pithyx.org/de/docs/admin/file-services/). Die Übersichtstabelle zeigt Name, Pool, Belegt, Beschreibung, Rechte und Wiederherstellungspunkte. Ein Benutzer ohne jedes Recht sieht den Ordner gar nicht ([`fs.share.not_found`](https://pithyx.org/de/docs/reference/errors/#fs.share.not_found)). Ist sein Pool nicht angeschlossen, angehalten oder nicht eingehängt, ist der Ordner nicht verfügbar ([`fs.share.unavailable`](https://pithyx.org/de/docs/reference/errors/#fs.share.unavailable)). > **Einen freigegebenen Ordner löschen:** > > Beim Löschen musst du den Ordnernamen eingeben und wählen: **Daten behalten** (das Dataset und die Dateien bleiben und sind weiter in Speicher sichtbar) oder **Daten endgültig löschen** (Dataset, Dateien und jeder Snapshot, kein Rückgängigmachen). ### Papierkorb und Aufbewahrung Jeder freigegebene Ordner hat an seiner Wurzel einen versteckten Ordner `.pithyx-trash`. Löschen in Dateien verschiebt Elemente dorthin, ebenso Löschen über SMB, WebDAV und FTP. Löschen über SFTP entfernt Dateien endgültig. Der Papierkorb listet, woher jedes Element kam, wann es gelöscht wurde und wann es endgültig verschwindet, und bietet **Wiederherstellen**, **Endgültig löschen** und **Papierkorb leeren**. Wie Benutzer damit arbeiten, steht unter [Dateien](https://pithyx.org/de/docs/user/files/#der-papierkorb). Die Aufbewahrung gilt pro Ordner: standardmäßig 30 Tage, 0 behält Elemente, bis der Papierkorb geleert wird, höchstens 3650 Tage. Eine Bereinigung läuft stündlich. Nur Administratoren können die Aufbewahrung ändern, und der Desktop hat dafür heute keine Einstellung; sie lässt sich nur über die API setzen (`PUT /api/shares/{shareId}/trash`, [`fs.trash.retention_invalid`](https://pithyx.org/de/docs/reference/errors/#fs.trash.retention_invalid) bei einem ungültigen Wert). Der Papierkorb zeigt „Gelöschte Elemente bleiben {days} Tage erhalten.“ ### Wiederherstellungspunkte Wiederherstellungspunkte sind tägliche Snapshots; die neuesten 7 bleiben erhalten (eine Box, die eine Weile aus war, behält ihre letzten Punkte, statt sie zu verlieren). Sie brauchen nur Platz für Dateien, die sich geändert haben oder gelöscht wurden, und eine gelöschte Datei gibt ihren Platz frei, sobald der letzte Punkt, der sie hält, abläuft. Jeder Ordner hat in der Spalte **Wiederherstellungspunkte** einen Schalter („Täglich, 7 Tage behalten“ oder „Aus“); **Was sind Wiederherstellungspunkte?** erklärt sie den Benutzern. Benutzer stellen ältere Versionen mit **Frühere Versionen** in Dateien wieder her, und Windows zeigt sie als „Vorgängerversionen“. Sie helfen gegen versehentliches Löschen und Ransomware, ersetzen aber kein Backup auf einem anderen Gerät, weil sie auf denselben Platten liegen. Ein freigegebener Ordner, der aus einem vorhandenen Ordner registriert wurde (nur auf Entwicklungsmaschinen), hat keine Wiederherstellungspunkte, weil er kein eigenes Dataset hat. ### Verschlüsselung über SMB Der Schalter **Verschlüsselung über SMB verlangen** pro Ordner setzt `server smb encrypt = required` für diesen Ordner; sonst wird verschlüsselt, wenn der Client es verlangt. Der Server verlangt immer SMB 3 und Signierung. Das ist getrennt von der Pool-Verschlüsselung, die nicht verfügbar ist (siehe [Speicher](https://pithyx.org/de/docs/admin/storage/#verschl%C3%BCsselung)). ## Benutzer und Gruppen > Benutzer und Gruppen anlegen, ihnen Rechte geben, Konten deaktivieren oder löschen, und was mit Home-Ordnern passiert. Source: https://pithyx.org/de/docs/admin/users-and-groups/ Markdown: https://pithyx.org/de/docs/admin/users-and-groups.md Administratoren verwalten Konten unter Einstellungen > **Benutzer** und Einstellungen > **Gruppen**. Jeder Pithyx-Benutzer ist zugleich ein Linux-Konto mit eigener Benutzer-ID, sodass Dateien, die er anlegt, ihm gehören. Passwörter haben mindestens 8 Zeichen, und nur ein Administrator kann für einen anderen Benutzer ein neues Passwort setzen. ### Einen Benutzer anlegen Wähle **Benutzer anlegen** und fülle aus: - **Benutzername**: Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche, beginnend mit einem Buchstaben oder Unterstrich, höchstens 32 Zeichen. Systemnamen wie `root`, `daemon`, `sshd`, `pithyx`, `docker` und `users` sowie Namen, die mit `systemd-` beginnen, werden abgelehnt ([`auth.username.reserved`](https://pithyx.org/de/docs/reference/errors/#auth.username.reserved)). Ein Name, den ein Systemkonto schon benutzen darf, wird mit [`users.account.refused`](https://pithyx.org/de/docs/reference/errors/#users.account.refused) abgelehnt. - **Anzeigename (optional)**: höchstens 64 Zeichen. - **Passwort**: 8 bis 1024 Zeichen. Allgemein bekannte Passwörter werden abgelehnt ([`auth.password.too_common`](https://pithyx.org/de/docs/reference/errors/#auth.password.too_common)); weitere Regeln für den Aufbau gibt es nicht. - **Gruppen**. Jeder Benutzer ist außerdem in der Gruppe users. Benutzer-IDs stammen aus dem Bereich 20000 bis 29999 und werden nie wieder vergeben. Gruppen-IDs stammen aus dem Bereich 30000 bis 39999. Die Shell ist `/usr/sbin/nologin`, es sei denn, der Benutzer hat das Recht zur SSH-Anmeldung und SSH-Anmeldungen sind eingeschaltet. Ein neuer Benutzer kann sich am Desktop anmelden, SMB nutzen und die Apps Dateien und Betrachter verwenden; das kannst du im Rechte-Dialog ändern. Das Passwort wird auch für die Linux- und Samba-Konten gesetzt. Ein Benutzer, der noch keines hat, ist markiert mit „Noch nicht bereit für SMB und SFTP: Der Benutzer meldet sich einmal im Web an, oder du setzt ein neues Passwort.“ Abzeichen in der Liste: Administrator, Zwei-Faktor, Deaktiviert. ### Gruppen Wähle **Gruppe anlegen** unter Einstellungen > **Gruppen**. Eine Gruppe hat einen Namen (dieselben Regeln wie bei Benutzernamen, und er darf nicht mit `pithyx-` beginnen), eine **Beschreibung (optional)** mit bis zu 200 Zeichen und Mitglieder. Rechte, die einer Gruppe gegeben werden, gelten für alle ihre Mitglieder. Das Löschen einer Gruppe lässt ihre Mitglieder bestehen; Dateien behalten die Gruppen-ID, und sie wird nie an eine andere Gruppe vergeben. Die eingebaute Gruppe users enthält jeden Benutzer und lässt sich nicht umbenennen, löschen oder von Hand mit Mitgliedern versehen ([`users.group.builtin`](https://pithyx.org/de/docs/reference/errors/#users.group.builtin)). ### Sonderrechte Der Rechte-Dialog eines Benutzers oder einer Gruppe hat vier Sonderrechte: „Administrator (darf alles ändern)“, „Am Desktop anmelden“, „Über SSH mit einer Shell anmelden“ und „Neu starten und herunterfahren“. Weitere Abschnitte betreffen Dateidienste, Apps und freigegebene Ordner. Wie sich Rechte verbinden, steht unter [Berechtigungen](https://pithyx.org/de/docs/admin/permissions/). Ohne „Am Desktop anmelden“ kann sich ein Benutzer nicht am Web-Desktop anmelden; wer das Recht verliert, wird mit der nächsten Anfrage abgemeldet. ### Deaktivieren und löschen **Deaktivieren** nimmt dem Benutzer alle Rechte und meldet ihn ab; **Aktivieren** gibt die Rechte zurück. Du kannst dich nicht selbst deaktivieren ([`users.user.self`](https://pithyx.org/de/docs/reference/errors/#users.user.self)), und der letzte Administrator kann weder deaktiviert noch gelöscht werden noch das Recht verlieren ([`users.user.last_admin`](https://pithyx.org/de/docs/reference/errors/#users.user.last_admin)). **Löschen** verlangt die Eingabe des Benutzernamens und fragt, was mit dem Home-Ordner des Benutzers passiert: **Behalten** (die Vorgabe), **Dateien in einen freigegebenen Ordner verschieben** oder **Mit allen Dateien löschen**, siehe [Home-Ordner](https://pithyx.org/de/docs/admin/home-folders/#wenn-ein-benutzer-gel%C3%B6scht-wird). Das Konto verschwindet, Dateien, die der Benutzer in freigegebenen Ordnern angelegt hat, bleiben, und die Benutzer-ID wird nie an jemand anderen vergeben. Rechte, Gruppenmitgliedschaften sowie die Jobs und Benachrichtigungen des Benutzers werden entfernt. Um ein Passwort zurückzusetzen, nutze **Neues Passwort** beim Benutzer: Der Benutzer wird überall abgemeldet, und SMB und SFTP verwenden ebenfalls das neue Passwort. Pithyx hat kein Zurücksetzen per E-Mail. Hat der einzige Administrator sein Passwort vergessen, ist der Wiederherstellungsschlüssel aus der Ersteinrichtung der einzige Weg, siehe [Sicherheit](https://pithyx.org/de/docs/admin/security/#der-wiederherstellungsschl%C3%BCssel). ### Home-Ordner Jeder Benutzer bekommt einen privaten Home-Ordner, ein Dataset `/pithyx/homes/` unter `//homes/`, im Besitz des Benutzers. Die Liste zeigt seinen Pfad oder „Noch kein Pool“, bis es einen Pool mit dem Pithyx-Layout gibt. Sein Pool, die Quotas und die Homes gelöschter Benutzer stehen unter [Home-Ordner](https://pithyx.org/de/docs/admin/home-folders/). ## Home-Ordner > Jeder Benutzer bekommt einen privaten Home-Ordner auf dem Home-Pool; Administratoren wählen den Pool, setzen Quotas und entscheiden, was mit dem Home eines gelöschten Benutzers passiert. Source: https://pithyx.org/de/docs/admin/home-folders/ Markdown: https://pithyx.org/de/docs/admin/home-folders.md Status: draft Jeder Benutzer bekommt einen eigenen Home-Ordner: einen privaten Ort für Dateien, den nur dieser Benutzer und die Administratoren öffnen können. Benutzer sehen ihn als **home** in Dateien und über jeden Dateidienst; Administratoren sehen zusätzlich jedes andere Home unter **homes**. Einstellungen > **Home-Ordner** zeigt, auf welchem Pool die Homes liegen, ihren Platz und ihre Quotas sowie die Homes gelöschter Benutzer. ### Wo Benutzer ihn finden | Wo | Das eigene Home | Alle Homes (nur Administratoren) | | -------------- | --------------------------------------- | ------------------------------------------------------------------ | | Dateien | **home**, ganz oben in der Seitenleiste | **homes** in der Seitenleiste, das jedes Home als Ordner auflistet | | SMB | `\\\home` | `\\\homes` | | SFTP | Der Ordner `home` | Der Ordner `homes`, ein Ordner pro Benutzer | | WebDAV und FTP | Der Ordner `home` ganz oben | Der Ordner `homes`, ein Ordner pro Benutzer | Ein Home wird wie ein freigegebener Ordner benutzt: Es hat seinen eigenen [Papierkorb](https://pithyx.org/de/docs/user/files/#der-papierkorb), Dateien darin gehören dem Benutzer, und der Benutzer braucht das Recht für ein Protokoll, um es darüber zu erreichen (siehe [Dateidienste](https://pithyx.org/de/docs/admin/file-services/)). Niemand sonst kann Zugriff auf ein Home bekommen, und es erscheint nie unter Einstellungen > **Freigegebene Ordner**. Apps, die die freigegebenen Ordner des Benutzers lesen dürfen, sehen auch sein eigenes Home, nie das eines anderen. > **Caution:** > > Dateien, die in der SMB-Freigabe `homes` gelöscht werden, landen in keinem Papierkorb; sie sind weg. Jedes Home ist ein eigenes Dataset, und Samba kann keine Datei darüber hinweg verschieben. Über `home`, in Dateien, SFTP, WebDAV und FTP funktioniert der Papierkorb wie gewohnt. ### Der Home-Pool Jedes Home ist ein Dataset `/pithyx/homes/`, eingehängt unter `//homes/`. Sobald es den ersten Pool mit dem Pithyx-Layout gibt, wird er zum Home-Pool, und jeder Benutzer ohne Home bekommt dort eines; ein Benutzer, der vorher angelegt wurde, bekommt sein Home, sobald der Pool da ist. Später angelegte Benutzer bekommen ihres sofort. Die Seite **Benutzer** zeigt den Pfad jedes Homes oder „Noch kein Pool“. Um alle Homes auf einen anderen Pool umzuziehen, wähle den Pool unter **Umziehen nach** und dann **Home-Ordner umziehen**. Ein Pool wird nur angeboten, solange er online, beschreibbar, entsperrt ist und das Pithyx-Layout hat; außerdem braucht er Platz für alle Homes ([`homes.pool.no_space`](https://pithyx.org/de/docs/reference/errors/#homes.pool.no_space)). Der Umzug läuft als Job, ein Home nach dem anderen: 1. Das Home wird schreibgeschützt, sodass man es lesen, aber nicht ändern kann, während es kopiert wird. 2. Ein Snapshot davon wird mit Dateien, Eigentümern, Rechten und Papierkorb auf den neuen Pool kopiert. 3. Das Home wird vom neuen Pool genutzt, und die alte Kopie wird mit ihren Snapshots gelöscht. Kann ein Home nicht umziehen, bleibt es, wo es war, und lässt sich wieder ändern; die vorher umgezogenen Homes bleiben umgezogen, und der Home-Pool bleibt der alte, bis jedes Home angekommen ist. Starte den Umzug erneut, sobald die Ursache behoben ist. Es läuft immer nur ein Umzug ([`homes.move.running`](https://pithyx.org/de/docs/reference/errors/#homes.move.running)). Ein Home auf einem Pool, der fehlt (zerstört oder exportiert und nicht wieder importiert), lässt sich nicht umziehen; der Umzug lässt es, wo es ist. Kommt der Pool nicht zurück, **lösche** das Home auf dieser Seite: Der Benutzer bekommt ein neues, leeres Home auf dem Home-Pool. ### Quotas **Standard-Quota** gilt für jedes Home ohne eigene Quota; lass das Feld leer für keine Grenze. **Quota** bei einem Home setzt die eigene des Benutzers: **Standard-Quota verwenden**, **Keine Grenze** oder **Eigene Quota**. Eine Quota ist mindestens 1 MiB groß ([`homes.quota.invalid`](https://pithyx.org/de/docs/reference/errors/#homes.quota.invalid)) und zählt die Dateien und die Snapshots des Homes. Ist ein Home voll, schlägt Schreiben fehl, bis Dateien gelöscht und der Papierkorb geleert ist. ### Wenn ein Benutzer gelöscht wird Beim Löschen eines Benutzers unter Einstellungen > **Benutzer** fragt Pithyx, was mit dem Home-Ordner passiert: - **Behalten** (die Vorgabe): Das Home bleibt, umbenannt in `.deleted-`, damit der Name für einen neuen Benutzer frei ist. Administratoren sehen es unter **homes**. - **Dateien in einen freigegebenen Ordner verschieben**: Ein neuer Ordner mit dem Namen des Benutzers im gewählten freigegebenen Ordner bekommt alle Dateien, danach wird das Home samt Papierkorb gelöscht. Das läuft als Job. - **Mit allen Dateien löschen**: Das Home wird mit seinen Dateien, seinem Papierkorb und seinen Snapshots gelöscht, nachdem du den Benutzernamen eingegeben hast. Ein behaltenes Home erscheint auf der Seite **Home-Ordner** mit „Benutzer gelöscht“. **In Freigabe verschieben** und **Löschen** tun dort später dasselbe wie oben; **Löschen** fragt nach dem Ordnernamen. Ein neuer Benutzer mit demselben Namen bekommt nie ein altes Home: Ein Home, das einer anderen Benutzer-ID gehört, wird vorher umbenannt. ### Grenzen - Homes haben noch keinen Ordner `Desktop` für die Desktop-Elemente. - Ein Home wird nie mit anderen Benutzern geteilt; dafür gibt es freigegebene Ordner. ## Berechtigungen > Wie Rechte an Benutzer und Gruppen vergeben werden, wie sich der Zugriff auf freigegebene Ordner, Protokolle und Apps verbindet und wann eine Änderung wirkt. Source: https://pithyx.org/de/docs/admin/permissions/ Markdown: https://pithyx.org/de/docs/admin/permissions.md Pithyx vergibt Rechte an Benutzer und an Gruppen. Die wirksamen Rechte eines Benutzers sind die Vereinigung seiner eigenen Rechte und der Rechte aller seiner Gruppen, einschließlich der eingebauten Gruppe users. Es gibt keine Verbotsregeln, und Administratoren haben jedes Recht. Ein deaktivierter Benutzer hat keines. ### Das Modell Ein Recht ist eines von: - ein Sonderrecht: Administrator, am Desktop anmelden, über SSH mit einer Shell anmelden, neu starten und herunterfahren; - ein Protokoll: SMB, SFTP, WebDAV oder FTP; - Zugriff auf einen freigegebenen Ordner: Kein Zugriff, Lesen oder Lesen und schreiben (das höchste gewinnt); - Zugriff auf eine App. Der Rechte-Dialog eines Benutzers oder einer Gruppe sagt es deutlich: Der Benutzer hat diese Rechte und alles, was seine Gruppen ihm geben; es gibt keine Regeln, die ein Recht wegnehmen. Eine Gruppe überstimmt nie einen Benutzer, und was eine Gruppe gewährt, kannst du nicht verbieten. ### Zugriff auf freigegebene Ordner Lege die Stufen **Kein Zugriff**, **Lesen** und **Lesen und schreiben** pro Benutzer oder Gruppe im Rechte-Dialog fest oder pro Ordner im Bearbeiten-Dialog des Ordners, der auch zeigt, was ein Benutzer am Ende „bekommt“. Administratoren lesen und schreiben immer jeden Ordner. Pithyx bringt das Dateisystem damit in Einklang: Es legt pro Ordner Linux-Gruppen an und setzt POSIX-ACLs, sodass SMB, SFTP, WebDAV, FTP und die App „Dateien“ dieselben Rechte sehen. ACL-Änderungen von einem SMB-Client werden ignoriert. Ein Ordner ohne Zugriff ist versteckt, nicht verweigert ([`fs.share.not_found`](https://pithyx.org/de/docs/reference/errors/#fs.share.not_found)); Schreiben mit Leserecht ergibt [`fs.share.read_only`](https://pithyx.org/de/docs/reference/errors/#fs.share.read_only). ### Zugriff über Protokolle Ein Benutzer erreicht einen Ordner nur dann über ein Protokoll, wenn beide es erlauben: Der Benutzer (oder eine Gruppe) hat das Protokollrecht, und der Ordner hat den passenden Schalter **Über ... anbieten**. Ein neuer Benutzer hat nur SMB. Die serverseitigen Schalter stehen unter [Dateidienste](https://pithyx.org/de/docs/admin/file-services/). SSH mit einer Shell ist ein Recht, kein Protokoll: Es braucht das Recht und den Schalter **SSH-Anmeldungen**. Anmeldungen über Protokolle verwenden nur das Passwort; die Zwei-Faktor-Anmeldung gilt für den Web-Desktop. ### Zugriff auf Apps Dateien und Betrachter werden per Recht vergeben (neue Benutzer bekommen beide), Info steht allen offen, und Speicher, Einstellungen, Ressourcenmonitor, Protokoll-Center und Store sind nur für Administratoren. Bei Apps aus dem Store ist **Wer die App nutzen darf** entweder **Alle**, **Nur Administratoren** oder **Ausgewählte Gruppen und Nutzer**; Administratoren dürfen jede App nutzen. Pro App können Administratoren Berechtigungen ausschalten, um sie der App zu nehmen. Mehr dazu unter [Apps und der Store](https://pithyx.org/de/docs/admin/apps-and-store/). ### Wann eine Änderung wirkt Änderungen gelten sofort. Offene Sitzungen werden über den WebSocket neu autorisiert, und ein Benutzer, der die Desktop-Anmeldung verliert, wird getrennt. Bei WebDAV und FTP wird das Recht bei jeder Anfrage geprüft. Ein korrektes Protokollpasswort wird 5 Minuten gemerkt, und ein neues Passwort beendet das sofort. Offene Fenster einer App bekommen eine Änderung der Berechtigungen innerhalb weniger Minuten. Websitzungen enden nach 7 Tagen ohne Nutzung oder nach insgesamt 30 Tagen; Deaktivieren, Löschen oder Zurücksetzen des Passworts beendet sie sofort. ## Dateidienste > SMB, SFTP, WebDAV und FTP ein- oder ausschalten, mit ihren Ports, Standardwerten und Grenzen. Source: https://pithyx.org/de/docs/admin/file-services/ Markdown: https://pithyx.org/de/docs/admin/file-services.md Dateidienste lassen andere Computer freigegebene Ordner über das Netzwerk öffnen. Einstellungen > **Dateidienste** hat einen Schalter pro Dienst: SMB, SFTP, WebDAV und FTP. Benutzer melden sich mit ihrem Pithyx-Benutzernamen und Passwort an. Pithyx hat kein NFS und keinen Gastzugang. Bei einer frischen Installation ist SMB an und die anderen Dienste sind aus. Welcher Benutzer welchen Dienst nutzen darf, wird pro Benutzer oder Gruppe festgelegt (siehe [Berechtigungen](https://pithyx.org/de/docs/admin/permissions/)); welche Ordner ein Dienst anbietet, wird pro Ordner festgelegt ([Freigegebene Ordner](https://pithyx.org/de/docs/admin/shared-folders/)). Ein Benutzer, dessen Passwort Pithyx für SMB und SFTP noch nicht kennt, muss sich einmal im Web anmelden, oder ein Administrator setzt ein neues Passwort. ### SMB Schalte **Freigegebene Ordner über SMB anbieten** ein; die Standard-Arbeitsgruppe ist `WORKGROUP` (1 bis 15 Zeichen: Buchstaben, Ziffern, Punkt, Bindestrich, Unterstrich, beginnend mit einem Buchstaben oder einer Ziffer; wird in Großbuchstaben gespeichert). SMB stellt Windows, macOS und Linux Netzlaufwerke auf Port 445 bereit. Es werden nur signierte Verbindungen aktueller Systeme (SMB 3) akzeptiert, verschlüsselt, wenn der Client es verlangt, und immer verschlüsselt bei freigegebenen Ordnern mit **Verschlüsselung über SMB verlangen** (siehe [Freigegebene Ordner](https://pithyx.org/de/docs/admin/shared-folders/#verschl%C3%BCsselung-%C3%BCber-smb)); Gäste werden abgelehnt, und NetBIOS ist aus. Pithyx schreibt `/etc/samba/smb.conf` bei jeder Änderung selbst; eigene Samba-Einstellungen gehören in `/etc/samba/pithyx.local.conf`, die Pithyx einbindet und nie beschreibt. Die Datei wird mit `testparm` geprüft, bevor Samba neu lädt. Verbinde dich im Windows-Explorer mit `\\\`, unter macOS oder Linux mit `smb://`. Die Box macht sich im Netzwerk nicht bekannt (kein WS-Discovery, kein mDNS), daher verbinden sich Clients über die Adresse. Gelöschtes geht in den Papierkorb, und die täglichen Wiederherstellungspunkte erscheinen in Windows als „Vorgängerversionen“. Ändert sich der Zugriff eines Benutzers (ein Recht auf einen freigegebenen Ordner, eine Gruppenmitgliedschaft), beendet Pithyx seine offenen SMB-Verbindungen. Der Computer verbindet sich innerhalb von Sekunden von selbst neu und hat sofort die neuen Rechte; Dateien, die der Benutzer über SMB offen hatte, werden geschlossen, wie nach einem kurzen Netzwerkausfall. ### SFTP Schalte **Freigegebene Ordner über SFTP anbieten** ein. Es ist verschlüsselte Dateiübertragung über SSH, zum Beispiel mit FileZilla, WinSCP oder dem Befehl `sftp`: `sftp://`. Benutzer sehen nur ihre freigegebenen Ordner und bekommen keine Shell. SFTP nutzt das `sshd` des Systems über eine Drop-in-Datei, nur mit Passwort-Anmeldung. Das Ausschalten von SFTP hindert nur Pithyx-Benutzer daran, hereinzukommen; SSH für andere Konten wird nicht gestoppt. Das Einschalten führt `systemctl enable --now ssh.service` aus. Die sshd-Konfiguration wird mit `sshd -t` geprüft und zurückgesetzt, wenn sie abgelehnt wird. SSH mit einer Shell ist ein eigener Schalter, siehe [Sicherheit](https://pithyx.org/de/docs/admin/security/#ssh). ### WebDAV Wird vom Daemon selbst unter `/webdav/` auf der Webadresse der Box angeboten (`https://:7484/webdav/`), mit Basic-Authentifizierung über Pithyx-Name und -Passwort. Die Wurzel listet die freigegebenen Ordner, die der Benutzer nutzen darf; Gelöschtes geht in den Papierkorb. Ein Benutzer braucht das WebDAV-Recht und den Ordnerschalter **Über WebDAV anbieten**. > **Noch keine Verschlüsselung:** > > WebDAV läuft über das HTTPS der Box. Programme, die Zertifikate prüfen (Windows, macOS), verbinden sich, sobald das Gerät dem Root-Zertifikat der Box vertraut; siehe [Zertifikate](https://pithyx.org/de/docs/admin/certificates/). ### FTP Für Geräte und Programme, die weder SFTP noch WebDAV kennen, etwa Scanner. **Freigegebene Ordner über FTP mit TLS anbieten** nutzt explizites FTPS (`AUTH TLS`); es zeigt das Zertifikat der Box (siehe [Zertifikate](https://pithyx.org/de/docs/admin/certificates/)), und die Seite zeigt dessen SHA-256-Fingerabdruck. **Auch unverschlüsseltes FTP erlauben** ist standardmäßig aus und trägt eine Warnung; wird es wieder ausgeschaltet, enden unverschlüsselte Sitzungen. - Steuerport 21, passive Datenports 50000 bis 50099. Nur der passive Modus funktioniert (`PORT` und `EPRT` werden mit „502 Only passive mode“ beantwortet). - Leerlauf-Zeitlimit 10 Minuten, Daten-Zeitlimit 30 Sekunden. - Fehlgeschlagene Anmeldungen sind auf 5 pro Benutzer und 30 pro Adresse in 5 Minuten begrenzt. ### Grenzen - Nur SMB 3; ältere Clients können sich nicht verbinden. - SFTP akzeptiert nur Passwörter. - Rechte lassen sich nicht von einem Client aus ändern (SMB-ACL-Änderungen werden ignoriert). - Anmeldungen über Protokolle nutzen keine Zwei-Faktor-Anmeldung. - Die Box wird im Netzwerk nicht bekannt gemacht (kein WS-Discovery, kein mDNS). ## Netzwerk > Netzwerkkarten, statische Adressen, Bonds, VLANs, DNS und die Bestätigung nach 60 Sekunden, die dich davor schützt, dich auszusperren. Source: https://pithyx.org/de/docs/admin/network/ Markdown: https://pithyx.org/de/docs/admin/network.md Einstellungen > **Netzwerk** (nur für Administratoren) zeigt die Netzwerkkarten der Box und ändert ihre Adressen, Bonds, VLANs, den Hostnamen, die Nameserver und die Standardroute. Jede Änderung wartet 60 Sekunden auf deine Bestätigung und wird ohne sie von selbst zurückgenommen, sodass eine falsche Adresse dich nicht aussperren kann. Wenn du dich doch aussperrst, setzt das Konsolenmenü auf der Box selbst das Netzwerk zurück. ### Karten und Adressen Die Seite listet Netzwerkkarten, Bonds und VLANs mit ihrem Zustand (Verbunden, Kein Kabel, Aus), der IPv4-Methode (Automatisch (DHCP), Statisch, Aus, Außerhalb von Pithyx eingestellt), Adressen, Gateway, Nameservern, Hardware-Adresse, MTU, Geschwindigkeit und Duplex. Eine Karte ohne Einstellungen nutzt DHCP. Pro Schnittstelle kannst du sie ein- oder ausschalten, IPv4 per DHCP, statisch oder aus wählen sowie IPv6 automatisch (Router und DHCPv6), statisch oder aus. Eine statische Adresse wird mit ihrer Präfixlänge geschrieben, zum Beispiel `192.168.1.10/24` oder `2001:db8::10/64`; das Gateway ist optional und muss im Netzwerk liegen. Die MTU liegt zwischen 1280 und 9000 (576 bis 9000 bei ausgeschaltetem IPv6); leer bedeutet 1500. **Zurück zu DHCP** entfernt die eigenen Einstellungen einer Karte. Änderungen werden als Entwurf gesammelt („Noch nicht angewendete Änderungen“) und gemeinsam mit **Anwenden …** übernommen oder mit **Änderungen verwerfen** verworfen. Pithyx lehnt eine Änderung ab, die die Box ohne jede Schnittstelle mit Adresse zurückließe ([`network.config.unreachable`](https://pithyx.org/de/docs/reference/errors/#network.config.unreachable)). Pithyx schreibt dafür Dateien für systemd-networkd und systemd-resolved; es gibt keine Einstellung für WLAN oder Bridge. Die Firewall stellst du bei den Dateidiensten ein (siehe [Sicherheit](https://pithyx.org/de/docs/admin/security/#offene-ports)). ### Bonds **Bond hinzufügen** fasst mindestens eine Karte zusammen (Karten mit eigenen Einstellungen müssen vorher zurück zu DHCP) und zwar in einem Modus: - **Active-Backup**: Eine Karte trägt den Verkehr, eine andere übernimmt, wenn ihr Kabel ausfällt. Funktioniert mit jedem Switch; du kannst eine primäre Karte wählen. - **LACP (802.3ad)**: alle Karten gemeinsam; die Switch-Ports müssen eine LACP-Gruppe bilden. Die LACP-Rate ist Langsam (alle 30 Sekunden) oder Schnell (jede Sekunde). - **Adaptiver Lastausgleich**: Alle Karten senden und empfangen ohne Hilfe des Switches. Namen von Bonds und VLANs haben bis zu 15 Kleinbuchstaben, Ziffern, Punkte, Bindestriche oder Unterstriche, beginnen mit einem Buchstaben und dürfen nicht mit einem Präfix beginnen, das Docker, die Netzwerke der Apps, Container oder VPNs nutzen: `px-`, `veth`, `docker`, `br-`, `ve-`, `vb-`, `vz-`, `vt-`, `virbr`, `tun`, `tap` oder `wg`. ### VLANs **VLAN hinzufügen** braucht ein Elternteil (eine Karte oder einen Bond) und eine VLAN-ID von 1 bis 4094, so wie der Switch-Port sie markiert (802.1Q). ### DNS, Suchdomains und die Standardroute Die Karte „Hostname und Nameserver“ enthält: - **Hostname**: Buchstaben, Ziffern und Bindestriche, 1 bis 63 Zeichen, kein Bindestrich am Anfang oder Ende. Windows-Netzwerke sehen die ersten 15 Zeichen. - **Nameserver**: bis zu 4. Leer nutzt die, die DHCP bekannt gibt; gesetzte ersetzen sie. - **Suchdomains**: bis zu 6. - **Standardroute über**: Automatisch oder eine gewählte Schnittstelle, die eingeschaltet ist und Einstellungen und ein Gateway hat. ### Der Bestätigungs-Timer ![Einstellungen, Netzwerk, mit dem Banner Noch 54 Sekunden, um die neuen Netzwerkeinstellungen zu behalten und den Knöpfen Behalten und Jetzt rückgängig machen](../../../../../assets/screenshots/network-confirm.de.webp) _Nach Anwenden zählt die Seite herunter. Ohne Behalten kehrt die Box zu den vorherigen Einstellungen zurück._ Nach **Anwenden …** zeigt ein Banner „Noch {seconds} Sekunden, um die neuen Netzwerkeinstellungen zu behalten“ mit **Behalten** und **Jetzt rückgängig machen**. Ohne Bestätigung innerhalb von 60 Sekunden, nach **Jetzt rückgängig machen**, nach einem fehlgeschlagenen Anwenden ([`network.apply.failed`](https://pithyx.org/de/docs/reference/errors/#network.apply.failed)) oder nach einem Neustart des Daemons kommen die vorherigen Einstellungen zurück. Es kann immer nur eine Änderung warten. Wenn die Seite nicht mehr antwortet, weil sich die Adresse geändert hat, öffne die Box unter ihrer neuen Adresse und behalte die Änderung dort; der Dialog listet die Adressen auf. > **Note:** > > Backups enthalten keine Netzwerkeinstellungen (siehe [Backup und Wiederherstellung](https://pithyx.org/de/docs/admin/backup/)), weil Karten auf anderer Hardware anders heißen. ### Ausgesperrt: das Konsolenmenü Auf dem eigenen Bildschirm der Box zeigt die Konsole die Adressen und ein Menü, das kein Passwort braucht, weil der physische Zugang der Beweis ist: - `[s]` Eine statische Adresse setzen: Kartennummer, Adresse mit Präfixlänge, Gateway (leer für keines) und Nameserver (leer behält sie). Es gilt derselbe 60-Sekunden-Timer. - `[r]` Das Netzwerk auf DHCP zurücksetzen: Nach „Reset every network card to DHCP and remove bonds, VLANs and name servers? [y/N]“ geht jede Karte zurück auf DHCP. Der Hostname bleibt. Kein Timer. - Solange eine Änderung wartet: `[k]` behalten, `[u]` rückgängig machen. Von der Konsole aus lassen sich nur statische IPv4-Adressen setzen. ## Sicherheit > Transport, offene Ports, physischer Zugriff, SSH, Zwei-Faktor-Anmeldung, der Wiederherstellungsschlüssel und was die Box verlässt. Source: https://pithyx.org/de/docs/admin/security/ Markdown: https://pithyx.org/de/docs/admin/security.md Pithyx behält alles auf der Box: keine Telemetrie, kein Cloud-Konto, kein Nach-Hause-Telefonieren. Der Web-Desktop spricht HTTPS mit einem Zertifikat der eigenen Zertifizierungsstelle der Box. Diese Seite behandelt Transport, offene Ports, physischen Zugriff, SSH, Zwei-Faktor-Anmeldung, den Wiederherstellungsschlüssel und die wenigen Verbindungen, die die Box von sich aus aufbaut. ### HTTPS und Zertifikate Die Box liefert den Desktop und WebDAV unter `https://:7484` aus, über TLS 1.2 oder 1.3 mit HTTP/2. Die Ports 80 und 443 leiten dorthin um, außer für die Domains des [Reverse Proxys](https://pithyx.org/de/docs/admin/reverse-proxy/), und eine Anfrage mit reinem `http://` auf 7484 wird auf `https://` am selben Port umgeleitet. Die Box ist ihre eigene Zertifizierungsstelle, deshalb warnt ein Browser vor ihrem Zertifikat, bis das Gerät dem Root-Zertifikat der Box vertraut: Lade es unter Einstellungen > **Zertifikate** herunter und installiere es einmal pro Gerät (siehe [Zertifikate](https://pithyx.org/de/docs/admin/certificates/)). FTP über TLS zeigt dasselbe Zertifikat. Die Zertifizierungsstelle darf nur lokale Namen und private Adressen signieren, außer ein Administrator legt eine ohne diese Grenze an. Ein Gerät, das ihr vertraut, akzeptiert von der Box also nie ein Zertifikat für eine öffentliche Website. Die Box sendet keinen HSTS-Header: Browser lassen niemanden an einer Zertifikatswarnung vorbei, wenn ein Host HSTS nutzt, und das Zertifikat der Box ist so lange nicht vertrauenswürdig, bis ein Gerät ihrem Root-Zertifikat vertraut. Das Sitzungs-Cookie ist `HttpOnly`, `SameSite=Strict` und `Secure`. Anfragen, die etwas ändern, brauchen den Header `X-Pithyx-Request`. SMB 3 und SFTP verschlüsseln ihren Verkehr selbst. Die einzige Ausnahme ist das Live-System des Installers: Es spricht reines HTTP, weil es noch kein Zertifikat hat und nach keinem Passwort fragt. ### Offene Ports Pithyx hat eine Firewall, die nur die Weboberfläche und die eingeschalteten Dateidienste hereinlässt, über IPv4 und IPv6: der Web-Desktop und WebDAV auf 7484, 80 und 443 für die Umleitung und den Reverse Proxy, die Ports aktiver Streams des Reverse Proxys, SMB auf 445 (ab dem ersten Start an), SFTP und SSH auf 22, FTP auf 21 mit den passiven Ports 50000 bis 50099. Schaltest du einen Dienst unter Einstellungen > **Dateidienste** aus, ist auch sein Port zu. Alles andere wird verworfen, außer Antworten auf eigene Verbindungen der Box, DHCP-Antworten und den üblichen ICMP-Nachrichten (darunter Ping) sowie denen, die IPv6 braucht. Die Backends der Apps veröffentlichen gar keine Ports. Mit **Nur private Netze dürfen die Dateidienste nutzen** (Abschnitt **Firewall** auf derselben Seite, standardmäßig aus) antworten SMB, SFTP, SSH und FTP nur Computern in privaten Netzen (10.x, 172.16 bis 31.x, 192.168.x, Link-local und IPv6-ULA); die Weboberfläche bleibt in jedem Fall erreichbar. Lass es aus, wenn du die Box über einen Router aus einem anderen Netz oder über ein VPN mit öffentlichen Adressen erreichst. Lassen sich die Regeln nicht anwenden, ist die Einstellung trotzdem gespeichert, und der Fehler ist [`network.firewall.failed`](https://pithyx.org/de/docs/reference/errors/#network.firewall.failed). Pithyx bietet keinen eigenen Fernzugriff; lass die Box hinter einem Router und erreiche sie von außen lieber über ein VPN, statt diese Ports weiterzuleiten. ### Physischer Zugriff Wer die Konsole der Box bedienen kann, vor Ort oder über die Fernwartung (BMC, IPMI), kann root werden: Das Bootmenü hat kein Passwort, und die Systemplatte ist nicht verschlüsselt. Ein Passwort an der Konsole würde also nichts schützen, deshalb fragen das Konsolenmenü und das [Recovery-Menü](https://pithyx.org/de/docs/install/updates/#das-recovery-men%C3%BC) nach keinem und lassen dich nur bestätigen, was du tust. An der Konsole gibt es überhaupt keine Anmeldung: tty1 zeigt nur das Konsolenmenü, die anderen Konsolen sind abgeschaltet, und root bleibt gesperrt. Stell die Box dort auf, wo Fremde nicht hinkommen, und sichere ihre Fernwartung. Jede Box schreibt bei der Installation ihre eigene ZFS-Host-ID, damit zwei vom selben Stick installierte Boxen nie als dasselbe System gelten. Ein Pool von vor einer Neuinstallation gilt deshalb als von einem anderen System benutzt und braucht den erzwungenen Import (siehe [Wiederherstellung](https://pithyx.org/de/docs/install/recovery/#die-pools-wieder-importieren)). Pool-Verschlüsselung gibt es in dieser Version nicht; der Speicher-Assistent sagt, sie kommt mit dem Schlüsseltresor. Ein Schlüssel in einem Tresor auf der Systemplatte schützt nur gegen gestohlene Platten, nicht gegen jemanden, der die ganze Box oder ihre Konsole hat. ### SSH SSH ist standardmäßig aus. Zwei getrennte Schalter auf der Seite **Dateidienste**: - **Freigegebene Ordner über SFTP anbieten**: nur Dateiübertragung, keine Shell. - **SSH-Anmeldungen** mit dem Schalter **Benutzer mit dem Recht zur SSH-Anmeldung mit einer Shell anmelden lassen**. Benutzer mit dem Recht „Über SSH mit einer Shell anmelden“ bekommen eine Shell mit ihren eigenen Rechten, mit Passwort oder öffentlichem Schlüssel, ohne Weiterleitung, Tunnel oder X11. Eine Shell erreicht mit den Rechten des Benutzers das ganze System, daher gib das Recht nur Leuten, die es brauchen. Das Ausschalten eines der beiden stoppt SSH für die eigenen Konten des Systems nie; Pithyx hält `sshd` nie an. Eine Anmeldung mit Shell begrüßt dich mit dem Pithyx-Logo, der Version und einem Hinweis, dass Änderungen von Hand in der Shell die Box beschädigen oder von Pithyx oder einem Update rückgängig gemacht werden können (vorerst auf Englisch). Die Host-Schlüssel entstehen beim ersten Start und gehören zum Konfigurationsbackup. Der Administrator, den du im Installer angelegt hast, ist in der Gruppe `sudo` und bekommt mit `sudo` und seinem eigenen Passwort root (er muss sich seit der Installation einmal an der Weboberfläche angemeldet haben, damit das System das Passwort kennt). Andere Administratoren bekommen kein `sudo`. Root selbst bleibt gesperrt; was du damit machst, entscheidest du. `sudo`, `nano`, `htop`, `curl`, `wget` und `git` sind installiert. ### Zwei-Faktor-Anmeldung Jeder Benutzer kann die Zwei-Faktor-Anmeldung (TOTP) im Kontomenü unter **Zwei-Faktor-Authentifizierung** einschalten: den QR-Code scannen oder den Schlüssel eingeben, einen Code eingeben, **Einschalten** wählen und die 10 Wiederherstellungscodes aufbewahren, die einmal angezeigt werden; jeder gilt einmal. Die Codes nutzen SHA-1, 6 Stellen und 30 Sekunden. Gib bei der Anmeldung den Code ein oder wähle „Stattdessen einen Wiederherstellungscode verwenden“; die Abfrage ist 5 Minuten gültig. Zum Ausschalten braucht es das Passwort. Nach 5 fehlgeschlagenen Versuchen für einen Benutzer von einer Adresse oder 30 von einer Adresse in 5 Minuten werden weitere Versuche eine Zeit lang abgelehnt. Sitzungen enden nach 7 Tagen ohne Nutzung oder nach insgesamt 30 Tagen. SMB, SFTP, WebDAV und FTP nutzen nur das Passwort. ### Der Wiederherstellungsschlüssel Die Ersteinrichtung zeigt den Wiederherstellungsschlüssel einmal an (`PTHX-` gefolgt von 26 Zeichen). Er ist der einzige Weg, das Administratorpasswort zurückzusetzen. Wähle dazu auf der Anmeldeseite „Passwort vergessen?“ und gib dann den Schlüssel, den Benutzernamen eines Administrators und ein neues Passwort ein. Das meldet diesen Benutzer überall ab, schaltet seine Zwei-Faktor-Anmeldung aus und stellt einen neuen Wiederherstellungsschlüssel aus; der alte wird ungültig. Es gibt einen Schlüssel für die ganze Box, und er gehört zum Konfigurationsbackup. Ohne den Schlüssel und das Passwort muss das System neu installiert werden. Andere Benutzer bitten einen Administrator um ein neues Passwort. ### Was die Box verlässt Die Box schickt keine Daten an das Pithyx-Projekt. Das sind die ausgehenden Verbindungen, die Pithyx selbst aufbaut: - **Systemupdates**: einmal am Tag zu einer Zeit, die jede Box zufällig wählt (abschaltbar mit **Täglich nach Updates suchen** unter Einstellungen > **Updates**), und bei **Jetzt prüfen** liest die Box die Kanaldatei ihrer Update-Quelle (standardmäßig die Releases des Projekts auf GitHub) und die Paketlisten von Debian von `deb.debian.org`. Ein Update, das du installierst, lädt seine Datei von derselben Quelle. Siehe [Systemupdates](https://pithyx.org/de/docs/install/updates/). - **App-Kataloge**: Git über HTTPS oder SSH zu jedem aktivierten Katalog-Repository (der offizielle und der Community-Katalog sind an und werden standardmäßig von GitHub abgerufen), einmal täglich zur eingestellten Zeit mit einer zufälligen Verzögerung von bis zu einer Stunde, wenn du einen Katalog hinzufügst, und bei **Jetzt prüfen**. Schalte einen Katalog aus, um das zu beenden. - **Container-Images** von Katalog-Apps aus der Registry, die der Katalog nennt, außer das Paket bringt sie mit. - **Zeit**: Ist **Zeitserver** unter Einstellungen > **Regionale Einstellungen** leer, nutzt die Box die Debian-Vorgaben über systemd-timesyncd, das öffentliche Zeitserver kontaktiert. - **Apps**, denen du die Berechtigung „Internet“ erlaubst, bekommen ein zweites Netzwerk mit ausgehendem Zugriff ins Internet; andere Apps haben keines. Geräte in deinem lokalen Netzwerk erreichen nur Apps mit der Berechtigung „Lokales Netzwerk“. Logs bleiben auf der Box unter `/var/log/pithyx/`. Geheimnisse werden in Logs maskiert. Passwörter werden als Argon2id-Hashes gespeichert. ## Apps und der Store > Apps aus Katalogen oder einer Datei installieren, den App-Pool wählen, Update-Regeln festlegen und wie Backends in Docker laufen. Source: https://pithyx.org/de/docs/admin/apps-and-store/ Markdown: https://pithyx.org/de/docs/admin/apps-and-store.md Nur Administratoren installieren Apps, in der App Store. Eine App ist ein Frontend, das der Daemon ausliefert, plus optional ein Backend aus Containern. Apps kommen aus Katalogen (Git-Repositorys mit einem signierten Index) oder aus einer Paketdatei (`.pithyxapp`). Alle App-Daten liegen auf einem Pool, den du bei der ersten Installation wählst, nie auf der Systemplatte. ### Der Store Der Store hat den Tab **Installiert**, **Updates**, solange Updates warten (mit ihrer Zahl), **Offiziell** und **Community**, solange dieser Katalog an ist, und **Eigene**, sobald du einen eigenen Katalog hinzugefügt hast, und ein Zahnrad für die **Store-Einstellungen**. Offizielle Apps werden vom Pithyx-Projekt geprüft, gebaut und signiert; Community-Apps stammen von Entwicklern außerhalb des Projekts und werden vom Projekt geprüft, bevor sie veröffentlicht werden; **Eigene** zeigt Apps von Katalogen, die du hinzugefügt hast und die das Projekt nicht prüft. Die Abzeichen lauten „Pithyx“, „Community“ und „Nicht geprüft“ (auch für Apps, die aus einer Datei installiert wurden). Die Suche umfasst Name, Beschreibung und Entwickler. Benutzer öffnen installierte Apps über das Pithyx-Menü; siehe [Apps](https://pithyx.org/de/docs/user/apps/). ### Aus einer Datei installieren Wähle **Aus Datei installieren** im Tab **Installiert** (oder **Aus Datei aktualisieren** in den Details einer App) und wähle ein Paket. Der Dialog listet die Berechtigungen auf, die die App anfordert, die Ordner, die sie braucht, ob sie ein Backend mitbringt, eine Warnung, wenn ein Container als root läuft, besondere Rechte, **Wer sie nutzen darf** und **Pool für App-Daten**. Bei einem Paket aus einer Datei warnt er: „Dieses Paket stammt aus einer Datei und ist nicht geprüft.“ Grenzen eines Uploads: die Datei höchstens 256 MB, entpackt höchstens 512 MB und 10 000 Einträge, das Manifest höchstens 64 KB ([`app.package.too_large`](https://pithyx.org/de/docs/reference/errors/#app.package.too_large)). Ein geprüftes Paket wartet 15 Minuten auf deine Bestätigung. Die IDs `org.pithyx.*` werden aus Dateien abgelehnt. Eine Version kann installiert, aktualisiert, neu installiert (ersetzt ihre Dateien) oder herabgestuft werden; ein Herabstufen kann abgelehnt werden ([`app.package.downgrade_unsupported`](https://pithyx.org/de/docs/reference/errors/#app.package.downgrade_unsupported)), nutze dann **Zurück zur vorigen Version**. **Deinstallieren** verlangt von dir, **Daten behalten** (eine erneute Installation findet sie wieder, mit der Benutzer-ID der App; der Installationsdialog sagt das dann) oder **Daten löschen** (Datenbanken, Einstellungen, Dateien und Snapshots; nicht umkehrbar) zu wählen. Freigegebene Ordner, die in die App eingebunden sind, bleiben in beiden Fällen. Das Deaktivieren einer App („Nutzer können die App öffnen“ aus) behält ihre Daten und ihren Zugriff. Eine App fragt nach Speicher; du ordnest jeden angeforderten Ordner einem Ordner in einem freigegebenen Ordner zu, schreibgeschützt oder mit Lesen und Schreiben: Wähle den freigegebenen Ordner, öffne den gewünschten Ordner (oder lege ihn mit **Neuer Ordner** dort an) und speichere; der freigegebene Ordner selbst geht auch. Erforderliche müssen zugeordnet sein, sonst startet das Backend nicht. Der Installationsdialog bietet die Zuordnung als letzten Schritt an und zeigt **App öffnen** erst, wenn jeder erforderliche Ordner einen hat; bis dahin sagt das Fenster der App, dass sie auf einen Ordner wartet. Der Schalter „Debug-Meldungen an das Protokoll-Center senden“ schaltet das Debug-Logging für eine App ein. ### Der App-Pool Bei der ersten Installation wählst du **Pool für App-Daten**: „Alle Apps speichern ihre Daten auf diesem Pool. Er lässt sich nicht ändern, solange eine App installiert ist.“ Ohne Pool sagt der Store, dass du zuerst in Speicher einen anlegen sollst. Der Pool muss importiert, online (oder degradiert), beschreibbar, entsperrt und von Pithyx eingerichtet sein. Jede App bekommt ein Dataset `/pithyx/apps/`, eingehängt unter `//.pithyx/apps/`. Das Datenverzeichnis von Docker ist `//.pithyx/docker`. Fehlt der Pool oder ist er gesperrt, zeigen Apps darauf „Pool nicht verfügbar“, und niemand kann sie öffnen, bis er zurück ist. App-Container laufen mit Benutzer-IDs von 40000 bis 49999. ### Updates und Rollback ![Die Store-Einstellungen mit der Update-Regel Administratoren benachrichtigen, der täglichen Prüfzeit 03:00, dem Kanal Stabil und der Liste der Kataloge](../../../../../assets/screenshots/store-update-settings.de.webp) _Die Store-Einstellungen: was mit neuen Versionen passiert, wann die Box prüft und welchem Kanal sie folgt._ Öffne das Zahnrad, dann **Updates**. Die Regel „Wenn ein Katalog eine neuere Version hat“ ist **Installieren**, **Administratoren benachrichtigen** (Standard) oder **Nichts tun** (das Update wird nur im Tab **Updates** aufgeführt). Ein Update, das neue Berechtigungen oder besondere Rechte verlangt, installiert sich nie von selbst. Die Zeit der täglichen Prüfung ist standardmäßig 03:00 (Zeitzone der Box) plus eine feste zufällige Verzögerung von 0 bis 3600 Sekunden pro Box; **Jetzt prüfen** führt sie sofort aus. Eine App kann in ihren Details einer eigenen Regel folgen. Administratoren bekommen die Benachrichtigungen „App-Updates“ und „Katalog nicht abgerufen“. Vor einem Update legt Pithyx einen Snapshot des Datasets der App an. Startet die neue Version nicht, kommt die alte zurück. **Zurück zu** und die Versionsnummer (zum Beispiel **Zurück zu 1.2.0**) kehrt zur vorigen Version zurück, mit den Daten der App, wie sie vor dem Update waren; seitdem gemachte Änderungen und Snapshots gehen verloren. Es wird nur die eine vorige Version aufbewahrt. Der Kanal ist **Stabil** (Versionen, die die Eigentümer der Kataloge freigegeben haben, Standard) oder **Beta** (jede neue Version, sobald ein Katalog sie veröffentlicht, vor ihrer Freigabe). ### Kataloge und Vertrauen Der offizielle und der Community-Katalog sind standardmäßig beide an; der Tab **Community** sagt, dass seine Apps von Entwicklern außerhalb des Projekts stammen, vom Projekt geprüft, aber nicht wie eigene verbürgt. Schalte den Community-Katalog in den Store-Einstellungen aus, wenn du nur offizielle Apps willst; das erneute Einschalten fragt „Community-Katalog nutzen?“. Keiner von beiden lässt sich entfernen ([`store.catalog.built_in`](https://pithyx.org/de/docs/reference/errors/#store.catalog.built_in)). Um einen eigenen hinzuzufügen, gib eine **URL des Repositorys** ein: `https://...` für einen öffentlichen Katalog oder `git@host:owner/repository.git` für einen privaten (keine Zugangsdaten in der URL, höchstens 500 Zeichen; [`store.catalog.url_invalid`](https://pithyx.org/de/docs/reference/errors/#store.catalog.url_invalid)). Für einen privaten Katalog über SSH erzeugt die Box einen ed25519-Deploy-Key und zeigt seine öffentliche Zeile; füge sie dem Repository als schreibgeschützten Deploy-Key hinzu und wähle **Jetzt abrufen**. Der Host-Schlüssel des Servers wird bei der ersten Verbindung festgehalten. Ein Abruf bricht nach 3 Minuten ab. Der Abrufstatus ist Aus, Noch nicht abgerufen, Aktuell, Abruf fehlgeschlagen oder Wird abgerufen; ein fehlgeschlagener Abruf behält die letzte geprüfte Kopie. Die Indizes des offiziellen und des Community-Katalogs tragen eine Ed25519-Signatur, die gegen im Daemon eingebaute Schlüssel geprüft wird, und der Hash jeder Datei wird geprüft. Eigene Kataloge sind unsigniert: „Apps aus deinen eigenen Katalogen prüft das Pithyx-Projekt nicht. Füge nur Kataloge hinzu, denen du vertraust.“ Die IDs `org.pithyx.*` kommen nur aus dem offiziellen Katalog. ### Backends und Docker Ein Backend ist eine Compose-Teilmenge mit Images, die per Digest festgelegt sind, geprüft gegen eine feste Allowlist. Die Box betreibt es in Docker (`docker.io` von Debian), das der Daemon nur startet, solange eine App mit Backend installiert und ihr Pool verfügbar ist. Container laufen in einem User-Namespace, in einem eigenen internen Netzwerk ohne Internet, außer die App hat die Berechtigung „Internet“, und erreichen keine Dienste des Hosts. Andere Geräte in deinem Netzwerk (Router, Drucker, andere Server) erreichen sie nur mit der Berechtigung „Lokales Netzwerk“; „Internet“ allein schließt sie nicht ein. Container, die nicht als root laufen, haben keine Linux-Capabilities. Pithyx 1.0.0 lehnt den Docker-Socket und Rechte für den ganzen Host ab ([`app.elevated.unsupported`](https://pithyx.org/de/docs/reference/errors/#app.elevated.unsupported)). Ein Container als root ist nur erlaubt, wenn die App es angibt, und der Installationsdialog warnt davor. Ein Backend mit dem Lifecycle `always` läuft, wann immer es kann; `onDemand` startet, wenn ein Benutzer die App öffnet (eine Anfrage wartet bis zu 30 Sekunden), und hält 10 Minuten nach dem Schließen des letzten Fensters an. Ein fehlgeschlagener Start wird nach 1 Minute wiederholt. Die Ausgabe der Container geht ins Protokoll-Center als Quelle `app/`. ## Reverse Proxy > Proxy-Hosts und Weiterleitungs-Hosts auf den Ports 443 und 80 nach Domain, mit Zertifikaten, Zugriffsregeln und der Pithyx-Anmeldung, sowie TCP- und UDP-Streams. Source: https://pithyx.org/de/docs/admin/reverse-proxy/ Markdown: https://pithyx.org/de/docs/admin/reverse-proxy.md Der eingebaute Reverse Proxy macht andere Dienste unter eigenen Domains auf den Ports 443 und 80 erreichbar: Eine Anfrage für `media.home.arpa` geht an den Dienst dahinter, mit einem Zertifikat für diesen Namen. Die Box selbst bleibt auf Port 7484; jeder Name, den du nicht eingerichtet hast, geht wie bisher dorthin (oder bekommt 404, wenn du das wählst). Streams leiten einen TCP- oder UDP-Port der Box an einen anderen Host weiter. Alles liegt unter Einstellungen > **Reverse Proxy** (nur Administratoren), gilt ab der nächsten Anfrage ohne Neustart und ist Teil des Konfigurations-Backups. ### Bevor du anfängst Lass jede Domain in deinem DNS-Server oder Router auf die Box zeigen (ein A- oder AAAA-Eintrag mit der Adresse der Box, oder ein Platzhalter-Eintrag für `*.apps.home.arpa`). Der Proxy beantwortet nur Namen, die ihn erreichen. Ohne HTTPS auf der Box (Entwicklung oder Simulation) antwortet er nur mit einfachem HTTP, und ein Entwicklungs-Daemon lauscht auf den Proxy-Ports nur, wenn `PITHYX_DEV_PROXY_PORTS` sie nennt. ### Proxy-Hosts **Proxy-Host hinzufügen** öffnet die Einstellungen eines Hosts: - **Domains**: bis zu 50 Namen, getrennt durch Kommas oder Leerzeichen. Ein führendes `*.` deckt eine beliebige Ebene davor ab (`*.apps.home.arpa` beantwortet `photos.apps.home.arpa`, nicht `a.b.apps.home.arpa`); ein genauer Name gewinnt gegen einen Platzhalter. Ein Name gehört nur zu einem Host ([`proxy.domain.taken`](https://pithyx.org/de/docs/reference/errors/#proxy.domain.taken)). Ein ausgeschalteter Host beantwortet nichts; seine Namen gelten als unbekannt. - **Ziel**: Protokoll, Host und Port des Dienstes. Bei `https` wählst du, wie sein Zertifikat geprüft wird: gegen die vertrauenswürdigen Stellen des Systems, gegen die eigene Zertifizierungsstelle der Box (Geräte mit einem Zertifikat aus Einstellungen > **Zertifikate**) oder gar nicht, für ein selbstsigniertes Zertifikat. - **Das Ziel ist ein Dienst auf dieser Box selbst**: nötig für ein Ziel wie `localhost`, den Namen der Box oder eine ihrer Adressen ([`proxy.target.on_box`](https://pithyx.org/de/docs/reference/errors/#proxy.target.on_box)), zum Beispiel um die Weboberfläche auf 7484 unter einer Domain zu erreichen. Die Ports 80 und 443 der Box werden immer abgelehnt, weil die Anfrage wieder beim Proxy ankäme ([`proxy.target.loop`](https://pithyx.org/de/docs/reference/errors/#proxy.target.loop)). - **WebSockets weiterleiten**: standardmäßig an; ausgeschaltet bekommen Upgrades 403 ([`proxy.websockets.disabled`](https://pithyx.org/de/docs/reference/errors/#proxy.websockets.disabled)). Antworten fließen ungepuffert durch, Server-Sent Events und große Downloads kommen also beim Browser an, sobald sie entstehen. Mit Zielen spricht der Proxy HTTP/1.1. #### HTTPS - **Zertifikat**: **Von der Zertifizierungsstelle der Box** stellt im Speicher ein Zertifikat für die Domains des Hosts aus (397 Tage, erneuert 30 Tage vor dem Ende und immer, wenn sich die Zertifizierungsstelle ändert). Jede Domain muss im Bereich der Zertifizierungsstelle liegen ([`tls.name.not_permitted`](https://pithyx.org/de/docs/reference/errors/#tls.name.not_permitted)); deine eigene Domain nimmst du mit einer neuen Zertifizierungsstelle in Einstellungen > **Zertifikate** in den Bereich auf. **Eigenes hochladen** nimmt ein Zertifikat mit Kette und unverschlüsseltem Schlüssel im PEM-Format, das jede Domain abdeckt ([`proxy.certificate.name_mismatch`](https://pithyx.org/de/docs/reference/errors/#proxy.certificate.name_mismatch)), zum Beispiel eines für eine öffentliche Domain. Ein abgelaufener oder kaputter Upload wird durch das eigene Zertifikat der Box ersetzt, und der Host zeigt **Kein Zertifikat**, wenn er keines hat. - Die Box wählt das Zertifikat nach dem Namen, den der Browser beim TLS-Handshake nennt, auf 443 und auf 7484; ein Name ohne Host bekommt das Zertifikat der Box. - **HTTP auf HTTPS umleiten** (standardmäßig an) beantwortet einfaches HTTP auf 80 mit einer Umleitung auf 443 (301 für GET und HEAD, sonst 308). Ausgeschaltet antwortet der Host auch auf 80. - **HTTP/2 anbieten** (standardmäßig an) lässt Browser auf 443 HTTP/2 nutzen. - **HSTS senden** setzt `Strict-Transport-Security: max-age=31536000` auf HTTPS-Antworten. > **HSTS:** > > Mit HSTS lehnt ein Browser für den Namen ein Jahr lang einfaches HTTP und jede Zertifikatswarnung ab, auch wenn du es wieder ausschaltest. Nutze es nur mit einem Zertifikat, dem jedes Gerät vertraut. #### Zugriff Der Proxy prüft in dieser Reihenfolge: die erlaubten und gesperrten Adressen, Basic Auth, dann die Pithyx-Anmeldung. - **Erlaubte Adressen** und **Gesperrte Adressen**: IP-Adressen oder Bereiche wie `192.168.1.0/24`. Eine gesperrte Adresse kommt nie herein; mit erlaubten Adressen nur diese ([`proxy.address.denied`](https://pithyx.org/de/docs/reference/errors/#proxy.address.denied)). Die Box sieht die Adresse, von der die Verbindung kommt. - **Basic Auth**: Benutzer mit einem Passwort, nach dem der Browser vor allem anderen fragt. Passwörter werden als Argon2id-Hashes gespeichert und nie angezeigt; lass das Feld leer, um ein gespeichertes Passwort zu behalten. Fehlversuche zählen zu denselben Grenzen wie fehlgeschlagene Anmeldungen. Das Ziel bekommt den Header `Authorization` nicht. - **Pithyx-Anmeldung verlangen**: Eine Seite des Hosts schickt Besucher ohne Zugang zur Anmeldung der Box, standardmäßig auf dem aufgerufenen Namen und Port 7484 (oder an die **Anmeldeadresse** der Seite). Nach der Anmeldung dort kommt der Browser mit einem Einmal-Ticket (30 Sekunden) zu `/.pithyx/auth` auf dem Host zurück, der ein Cookie des Hosts setzt und zur Seite weitergeht. Anfragen, die keine Seite laden, bekommen 401 ([`proxy.auth.required`](https://pithyx.org/de/docs/reference/errors/#proxy.auth.required)). Das Cookie gehört zur Sitzung auf der Box: Abmelden von der Box, eine widerrufene Sitzung, das verlorene Recht zur Desktop-Anmeldung oder das Entfernen aus den Benutzern und Gruppen des Hosts beendet den Zugang bei der nächsten Anfrage. **Benutzer** und **Gruppen** begrenzen, wer hereinkommt ([`proxy.access.denied`](https://pithyx.org/de/docs/reference/errors/#proxy.access.denied)); ohne beide kommt jeder herein, der sich anmelden darf, Administratoren immer. Das Ziel bekommt den Benutzer in `X-Pithyx-User`, `X-Pithyx-User-Id`, `X-Pithyx-Groups` und `X-Pithyx-Admin`. Der Pfad `/.pithyx/auth` eines solchen Hosts gehört dem Proxy. Benutzer und Gruppen werden mit Namen gespeichert: Nach dem Umbenennen einer Gruppe passe den Host an. > **Note:** > > Die Anmeldung läuft über die Weboberfläche der Box. Erreichst du einen Host von außen nur über 443, setze die **Anmeldeadresse** auf einen Host, der zur Weboberfläche der Box führt, etwa einen Proxy-Host für `nas.example.org` mit dem Ziel `https://localhost:7484`. #### Header - Das Ziel bekommt nie eingehende `X-Pithyx-*`-, `X-Forwarded-*`-, `Forwarded`- oder Trace-Header und auch nicht die eigenen Cookies der Box (`pithyx_*`); eine Antwort kann diese Cookies auch nicht setzen. - **X-Forwarded-For, -Proto und -Host senden** (standardmäßig an) nennt dem Ziel die Adresse des Clients, das Protokoll und den aufgerufenen Namen. - **Den aufgerufenen Namen als Host senden** gibt den `Host` des Browsers weiter; sonst bekommt das Ziel seinen eigenen Host und Port. **Host-Header** setzt stattdessen einen eigenen `Host`. - **Anfrage-Header** und **Antwort-Header**: einer pro Zeile als `Name: Wert`; `Name:` allein entfernt den Header. Header, die der Proxy selbst steuert (`Host`, `Connection`, `X-Forwarded-*`, `X-Pithyx-*`, `Strict-Transport-Security` und andere), werden abgelehnt ([`proxy.header.invalid`](https://pithyx.org/de/docs/reference/errors/#proxy.header.invalid)). #### Grenzen und Protokoll - **Größter Upload in MB**: leer für keine Grenze. - **Verbindungs-Timeout** (1 bis 300 Sekunden, Standard 10) und **Antwort-Timeout** (1 bis 86400 Sekunden, Standard 100: wie lange das Ziel schweigen darf). Ein ruhender WebSocket bleibt bis zu einem Tag offen. Ein unerreichbares Ziel ergibt 502 ([`proxy.target.unavailable`](https://pithyx.org/de/docs/reference/errors/#proxy.target.unavailable)), ein zu langsames 504 ([`proxy.target.timeout`](https://pithyx.org/de/docs/reference/errors/#proxy.target.timeout)). - **Zugriffslog schreiben** (standardmäßig an): jede Anfrage im Log Center unter der Quelle `proxy/`, mit Methode, Name, Pfad (ohne die Abfrage, die Geheimnisse enthalten kann), Status, Dauer, Adresse des Clients und, hinter einer Anmeldung, dem Benutzer. Die Liste zeigt für jeden Host, ob sein Ziel beim Öffnen der Seite geantwortet hat; **Ziel prüfen** schaut noch einmal nach. ### Weiterleitungs-Hosts Ein Weiterleitungs-Host schickt Browser von seinen Domains mit 301, 302, 307 oder 308 zu einer anderen Adresse. Mit **Pfad und Abfrage behalten** geht eine Anfrage für `/a?b=1` an die Zieladresse, gefolgt von `/a?b=1`. Auf 443 zeigt er ein Zertifikat vor wie ein Proxy-Host. ### Namen ohne Host **Namen ohne Host** legt fest, was 443 und 80 mit einem Namen tun, den kein aktiver Host hat: **Auf die Weboberfläche auf Port 7484 umleiten** (Standard, wie ohne Reverse Proxy) oder **Mit „nicht gefunden“ (404) antworten** ([`proxy.host.unknown`](https://pithyx.org/de/docs/reference/errors/#proxy.host.unknown)). Die Prüfung `/api/install-id` des Installers auf Port 80 antwortet immer. ### Streams Ein Stream leitet einen Port der Box, TCP, UDP oder beides, Byte für Byte an einen Host und Port weiter, für Dienste, die kein HTTP sprechen. Die Firewall öffnet den Port, solange der Stream aktiv ist. Die eigenen Ports der Box werden abgelehnt (21, 22, 80, 443, 445, 7484 und die passiven FTP-Ports 50000 bis 50099, [`proxy.stream.port_reserved`](https://pithyx.org/de/docs/reference/errors/#proxy.stream.port_reserved)), ebenso Ports, die ein anderes Programm belegt ([`proxy.stream.port_in_use`](https://pithyx.org/de/docs/reference/errors/#proxy.stream.port_in_use)), und Ports unter 1024, außer du bestätigst sie. Ein UDP-Client behält seine eigene Verbindung zum Ziel, bis er eine Minute lang schweigt; ein Stream nimmt bis zu 512 TCP-Verbindungen und 1024 UDP-Clients gleichzeitig an. ### Sicherheit Der Proxy läuft im Daemon, der als root läuft, und nur Administratoren dürfen Ziele festlegen. Anfragen, die der Proxy selbst geschickt hat, erkennt er und lehnt sie mit 508 ab ([`proxy.loop.detected`](https://pithyx.org/de/docs/reference/errors/#proxy.loop.detected)). Die Einstellungen sind im Konfigurations-Backup als Teil **Reverse Proxy**; hochgeladene Zertifikate kommen mit dem Teil **Zertifikate** (Dateien `proxy-host-.pem` und `.key` neben denen der Box). ### Noch nicht gebaut Lastverteilung mit Health-Checks, Regeln pro Pfad, Ratenbegrenzung und Let's Encrypt kommen später. ## Zertifikate > HTTPS auf 7484, die Box als eigene Zertifizierungsstelle, ihr auf deinen Geräten vertrauen, Zertifikate für andere Geräte und ein eigenes Zertifikat. Source: https://pithyx.org/de/docs/admin/certificates/ Markdown: https://pithyx.org/de/docs/admin/certificates.md Die Box spricht HTTPS auf Port 7484 mit einem Zertifikat ihrer eigenen Zertifizierungsstelle; die Ports 80 und 443 leiten dorthin um, außer für die Domains des [Reverse Proxys](https://pithyx.org/de/docs/admin/reverse-proxy/), die eigene Zertifikate vorzeigen. Installiere das Root-Zertifikat der Zertifizierungsstelle einmal auf jedem Gerät, dann vertraut der Browser der Box, lädt aus seinem Cache, und FTPS-Programme akzeptieren sie. Alles auf dieser Seite findest du unter Einstellungen > **Zertifikate** (nur Administratoren). ### Warum der Browser warnt Beim ersten Öffnen von `https://:7484` warnt der Browser, dass die Verbindung nicht privat ist: Er kennt nicht, wer das Zertifikat der Box signiert hat. Das ist so gewollt. Fahre zur Seite fort, melde dich an und vertraue der Box wie unten beschrieben; danach ist die Warnung auf diesem Gerät weg. Bis dahin behalten Chromium-basierte Browser nichts von der Box in ihrem Cache: Jedes Neuladen lädt den Desktop neu, und jedes App-Fenster lädt seine App neu. ### Der Box auf einem Gerät vertrauen Wähle unter **Dieser Box vertrauen** **Root-Zertifikat herunterladen** (die Datei `pithyx-root-ca.crt`; jeder darf sie herunterladen, auch vor der Anmeldung, unter `/api/system/tls/root-ca.crt`). Bevor du ihr vertraust, vergleiche ihren SHA-256-Fingerabdruck mit dem auf der Seite. Dann: - **Windows**: Öffne die Datei, wähle **Zertifikat installieren**, **Lokaler Computer** und dann den Speicher **Vertrauenswürdige Stammzertifizierungsstellen**. - **macOS**: Öffne die Datei in der Schlüsselbundverwaltung (Schlüsselbund **System**), öffne das Zertifikat und stelle **Vertrauen** auf **Immer vertrauen**. - **iPhone und iPad**: Öffne die Datei in Safari, installiere das Profil unter Einstellungen, Allgemein, VPN und Geräteverwaltung und schalte es unter Einstellungen, Allgemein, Info, Zertifikatsvertrauenseinstellungen ein. - **Android**: Einstellungen, Sicherheit, Verschlüsselung und Anmeldedaten, Zertifikat installieren, CA-Zertifikat, dann die Datei wählen. - **Linux**: Kopiere die Datei nach `/usr/local/share/ca-certificates/` und führe `sudo update-ca-certificates` aus. - **Firefox** hat einen eigenen Speicher: Einstellungen, Datenschutz und Sicherheit, Zertifikate, Zertifikate anzeigen, Zertifizierungsstellen, Importieren, und ihm für Websites vertrauen. ### Die Zertifizierungsstelle Die Zertifizierungsstelle hat zwei Teile: ein Root-Zertifikat (ECDSA P-384, 20 Jahre), dem Geräte vertrauen, und eine Zwischenzertifizierungsstelle (ECDSA P-256, 5 Jahre), die jedes Zertifikat signiert. Die Zwischenstelle erneuert sich ein Jahr vor ihrem Ende selbst; Geräte merken davon nichts, weil sie dem Root-Zertifikat vertrauen. Die erste Zertifizierungsstelle ist per Name Constraints auf lokale Namen und private Adressen begrenzt: die Endungen `local`, `lan`, `home.arpa`, `internal` und `localhost`, den Hostnamen der Box, die Suchdomains des Netzes und die Adressbereiche 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.0/8, fc00::/7, fe80::/10 und ::1. Ein Gerät, das dem Root-Zertifikat vertraut, akzeptiert nichts anderes von ihr; selbst wer die Box übernimmt, kann also kein Zertifikat für eine öffentliche Website fälschen. Root und Zwischenstelle tragen beide die Grenze. **Neue Zertifizierungsstelle anlegen…** ersetzt Root und Zwischenstelle. Mit **Nur lokale Namen und private Adressen** (Standard) kannst du eigene Domains ergänzen, etwa `home.example.org`; jede gilt für alle Namen darunter. Ohne die Grenze darf die Zertifizierungsstelle jeden Namen signieren, und ein Gerät, das ihr vertraut, würde ein gefälschtes Zertifikat für jede Website akzeptieren, wenn die Box übernommen würde. Nach einer neuen Zertifizierungsstelle muss jedes Gerät dem neuen Root-Zertifikat erneut vertrauen; für andere Geräte ausgestellte Zertifikate bleiben nur dort gültig, wo das alte Root-Zertifikat noch vertraut wird, und die Liste markiert sie mit **Frühere Zertifizierungsstelle**. Auch eine Umbenennung der Box braucht eine neue Zertifizierungsstelle, wenn du sie über ihren bloßen Hostnamen erreichst, weil der alte Hostname Teil der Grenze ist. ### Das eigene Zertifikat der Box Das Zertifikat der Box gilt für ihren Hostnamen, `.local`, den Hostnamen in jeder Suchdomain, `localhost`, jede Adresse ihrer Netzwerkkarten (nicht die der App-Container) und die Loopback-Adressen, soweit die Zertifizierungsstelle sie signieren darf. Es läuft 397 Tage, erneuert sich 30 Tage vor seinem Ende und wird sofort neu ausgestellt, wenn sich eine Adresse oder der Hostname ändert. **Namen des Box-Zertifikats** zeigt, wofür es gilt; **Weitere Namen** ergänzt Namen wie eine Domain, die auf die Box zeigt. Sie müssen innerhalb der Grenze der Zertifizierungsstelle liegen (sonst [`tls.name.not_permitted`](https://pithyx.org/de/docs/reference/errors/#tls.name.not_permitted)). ### Zertifikate für andere Geräte **Zertifikat ausstellen…** erstellt ein Serverzertifikat für einen Drucker, Router oder einen anderen Server in deinem Netz: Namen und Adressen (ein führendes `*.` für eine Wildcard), 1 bis 825 Tage und ein ECDSA-Schlüssel oder, für Geräte, die ihn brauchen, RSA mit 2048 Bit. Der Browser lädt das Zertifikat mit der Zwischenstelle (`.crt`) und den privaten Schlüssel (`.key`) herunter. Die Box behält den Schlüssel nicht. In der Liste kannst du das Zertifikat ohne Schlüssel erneut herunterladen und einen Eintrag entfernen; die Box führt keine Sperrliste, ein entferntes Zertifikat bleibt also gültig, bis es endet. ### Ein eigenes Zertifikat **Eigenes Zertifikat** nimmt ein Zertifikat, das du anderswo bekommen hast, etwa für deine eigene Domain: das Zertifikat mit seinen Zwischenzertifikaten und den privaten Schlüssel, beide in PEM und den Schlüssel ohne Passwort. Die Box zeigt es auf 7484, 443 und für FTPS, solange es gültig ist, und ihr eigenes wieder, sobald es abgelaufen ist oder nach **Eigenes Zertifikat entfernen**. Der Upload wird mit [`tls.custom.invalid`](https://pithyx.org/de/docs/reference/errors/#tls.custom.invalid), [`tls.custom.key_mismatch`](https://pithyx.org/de/docs/reference/errors/#tls.custom.key_mismatch) oder [`tls.custom.expired`](https://pithyx.org/de/docs/reference/errors/#tls.custom.expired) abgelehnt. Let's Encrypt ist noch nicht eingebaut. ### Hinter einem Reverse Proxy Um andere Dienste hinter die Box zu stellen, nimm ihren eigenen [Reverse Proxy](https://pithyx.org/de/docs/admin/reverse-proxy/). Ein Reverse Proxy anderswo vor der Box verbindet sich mit `https://:7484`. Lass ihn dem Root-Zertifikat der Box vertrauen (oder, weniger streng, die Prüfung für dieses eine Backend auslassen), WebSocket-Upgrades für `/ws` und App-Sockets durchreichen und seine Anfragen mit dem Hostnamen senden, den der Browser benutzt hat. Die Box sieht die Adresse des Proxys als Client, daher gilt die Grenze für fehlgeschlagene Anmeldungen pro Adresse für alle hinter dem Proxy gemeinsam. ### Sicherung Root, Zwischenstelle, das Zertifikat der Box, ein hochgeladenes Zertifikat, die weiteren Namen und die Liste der ausgestellten Zertifikate gehören zur Konfigurationssicherung (Teil **Zertifikate**). Stellst du sie auf einem neuen System wieder her, kommt dieselbe Zertifizierungsstelle zurück, und Geräte vertrauen ihr weiter; die Box stellt ihr eigenes Zertifikat für die Namen des neuen Systems neu aus. ## Backup und Wiederherstellung > Die Konfiguration der Box in einer verschlüsselten Datei sichern und wiederherstellen, und was das Backup nicht abdeckt. Source: https://pithyx.org/de/docs/admin/backup/ Markdown: https://pithyx.org/de/docs/admin/backup.md Einstellungen > **Backup und Wiederherstellung** sichert die Konfiguration der Box (Benutzer, freigegebene Ordner, Dateidienste, Zeitpläne und mehr) in einer passwortgeschützten Datei und stellt sie später wieder her. Die Dateien auf deinen Pools sichert es nicht. Backups sind manuell: Es gibt keinen Zeitplan. ### Ein Backup erstellen 1. Öffne Einstellungen > **Backup und Wiederherstellung** und wähle „Backup erstellen“. 2. Gib ein Backup-Passwort ein und wiederhole es. Es muss die üblichen Passwortregeln erfüllen (mindestens 8 Zeichen, kein allgemein bekanntes Passwort). 3. Wähle **Erstellen und herunterladen**. Die Datei heißt `pithyx-config--.pithyxbackup`. > **Das Passwort lässt sich nicht wiederherstellen:** > > Ohne das Backup-Passwort lässt sich das Backup nicht wiederherstellen. Pithyx bewahrt es nicht auf, und niemand kann es zurückholen. Bewahre es und die Datei an einem anderen Ort als dieser Box auf. Die Datei ist mit AES-256-GCM verschlüsselt, unter einem Schlüssel, der aus dem Passwort mit Argon2id abgeleitet wird (64 MiB, 3 Durchgänge). Das Archiv darf bis zu 16 MB groß sein und entpackt 256 MB ([`system.backup.too_large`](https://pithyx.org/de/docs/reference/errors/#system.backup.too_large)). Es enthält Passwort-Hashes und Schlüssel, schütze es also wie ein Geheimnis. ### Was es enthält Kategorien, die du bei der Wiederherstellung wählen kannst: - **Benutzer und Gruppen**: Konten, Gruppen, Passwörter (auch für SMB und SFTP), Zwei-Faktor-Anmeldung, der Wiederherstellungsschlüssel, persönliche Einstellungen und Desktop-Anordnungen. - **Freigegebene Ordner und Dateidienste**: freigegebene Ordner mit ihren Rechten und die Einstellungen für SMB, SFTP, WebDAV und FTP. - **Speicher-Einstellungen**: Snapshot-Zeitpläne (Wiederherstellungspunkte), Scrub- und Selbsttest-Zeitpläne. - **Systemeinstellungen**: Sprache, Formate, Zeitzone, Zeitserver und Aufbewahrung der Logs. - **Zertifikate und Schlüssel**: die Zertifizierungsstelle und die Zertifikate der Box, hochgeladene Zertifikate von Hosts des Reverse Proxys und die SSH-Host-Schlüssel, soweit vorhanden. - **Reverse Proxy**: Proxy-Hosts (mit Basic-Auth-Benutzern als Hashes), Weiterleitungs-Hosts, Streams, was unbekannte Namen bekommen, und die Anmeldeadresse. - **Apps**: die App-Registry, Berechtigungen, Ordnerzuordnungen, Kataloge und der App-Pool. Die Dateien und Daten der Apps bleiben auf dem Pool. Nicht enthalten: Dateien auf Pools, App-Daten, Logs, Docker-Daten, Sitzungen, Jobs, Benachrichtigungen, der Index des Papierkorbs und die Netzwerkeinstellungen (Karten heißen auf anderer Hardware anders). ### Wiederherstellen ![Einstellungen, Backup und Wiederherstellung, nach Backup prüfen: wann und wo das Backup entstand, sein Inhalt und die Teile zum Wiederherstellen, mit dem Knopf Wiederherstellen](../../../../../assets/screenshots/backup-checked.de.webp) _Backup prüfen zeigt, was die Datei enthält; geändert wird erst, wenn du Wiederherstellen wählst._ 1. Wähle die Datei, gib ihr Passwort ein und wähle **Backup prüfen**. Noch ändert sich nichts. 2. Die Seite zeigt „Dieses Backup enthält“: wann es erstellt wurde, von welchem Host, die Pithyx-Version und Zahlen zu Benutzern, Gruppen und freigegebenen Ordnern. 3. Hake unter „Was wiederhergestellt wird“ die Teile an, wähle dann **Wiederherstellen…** und **Jetzt wiederherstellen**. Ein geprüftes Backup wartet 15 Minuten ([`system.backup.restore_expired`](https://pithyx.org/de/docs/reference/errors/#system.backup.restore_expired)). Jeder gewählte Teil ersetzt den aktuellen vollständig; Dateien auf deinen Pools bleiben unberührt; Pithyx startet danach neu. Das Wiederherstellen der Benutzer meldet alle ab, auch dich; melde dich mit einem Konto und Passwort aus dem Backup an. Vor der Wiederherstellung wird die Datenbank nach `pithyx.db.pre-restore-.bak` daneben kopiert. Schlägt die Wiederherstellung fehl, wird nichts geändert. Einige Schritte (Linux-Konten, Passwörter für SFTP, SSH und SMB, Zeitzone, Zertifikate, SSH-Host-Schlüssel) können Probleme melden; das Protokoll-Center hat die Details. Ein Backup einer neueren Pithyx-Version lässt sich nicht wiederherstellen ([`system.backup.too_new`](https://pithyx.org/de/docs/reference/errors/#system.backup.too_new)); ein falsches Passwort ergibt [`system.backup.password_wrong`](https://pithyx.org/de/docs/reference/errors/#system.backup.password_wrong). Die Wiederherstellung funktioniert in den Einstellungen einer Box, die die Ersteinrichtung abgeschlossen hat; sie ist nicht Teil der Einrichtung selbst. ## Logs und Überwachung > Das Protokoll-Center, der Ressourcenmonitor und Benachrichtigungen: was sie zeigen, wie lange Daten bleiben und was sie kosten. Source: https://pithyx.org/de/docs/admin/logs-and-monitoring/ Markdown: https://pithyx.org/de/docs/admin/logs-and-monitoring.md Zwei Administrator-Apps zeigen, was die Box tut: das Protokoll-Center (Meldungen des Daemons, des Systems und der Apps) und der Ressourcenmonitor (CPU, Arbeitsspeicher, Netzwerk, Platten und Temperaturen). Benachrichtigungen erreichen Menschen nur im Desktop; es gibt keine E-Mail und keinen Push. ### Das Protokoll-Center ![Das Protokoll-Center im dunklen Design mit der Suche network, den Stufen Info, Warnung und Fehler, dem Zeitraum Letzte 24 Stunden und dem Detailbereich einer Warnung](../../../../../assets/screenshots/logs-center.de.webp) _Das Protokoll-Center mit Suche, Filtern für Stufe und Zeitraum und den Details des gewählten Eintrags._ Im Protokoll-Center kannst du Meldungen oder eine Request-ID suchen und nach **Stufen** (Debug, Info, Warnung, Fehler), nach Zeitraum (letzte Stunde, 24 Stunden, 7 Tage, 30 Tage, gesamte Zeit) und nach Quelle filtern: „Pithyx-Daemon“, „System · {name}“ für Journal-Units (Kernel, Samba, SSH, ZFS, systemd-networkd, timesyncd, Docker, smartmontools und andere) und „App · {name}“. Die Details zeigen Zeit, Stufe, Quelle, Benutzer, Request-ID und ob der Eintrag im Archiv liegt. Seiten fassen standardmäßig 200 Einträge, höchstens 1000. **Als Text exportieren** (`.log`) und **Als JSON-Zeilen exportieren** (`.jsonl`) schreiben bis zu 1 000 000 Einträge. Logs liegen in einer Datenbank auf der Systemplatte unter `/var/log/pithyx/`, funktionieren also ohne Pool. Die Aufbewahrung stellst du mit **Aufbewahrung** ein: standardmäßig 30 Tage (1 bis 365) und höchstens 4 GB (64 MB bis 4 GB); die ältesten Einträge gehen zuerst. Das optionale Archiv auf einem Pool ist standardmäßig aus. Wenn es an ist, werden Einträge einmal am Tag auf den Pool kopiert, und zwar bevor die aktuellen Logs welche verwerfen, was die Platten des Pools etwa einmal am Tag weckt. Archivtage: 1 bis 3650 (Standard 365); Größe 0,25 bis 1024 GB (Standard 10 GB). Ist der Pool nicht verfügbar, warten Einträge auf der Systemplatte. Der Daemon schreibt außerdem JSON-Dateien `/var/log/pithyx/daemon.json*`, die bei 20 MB rotieren, mit 10 Dateien. Geheimnisse werden in Logs maskiert. App-Meldungen kommen über das SDK an: `info`, `warn` und `error` immer, `debug` nur, solange ein Administrator es in den Details der App eingeschaltet hat. Eine Meldung hat höchstens 4000 Zeichen und höchstens 20 Datenfelder; eine App darf 20 Meldungen pro Sekunde loggen (Spitze 200). Die Ausgabe von Backend-Containern landet in der Quelle `app/`. Eine Zeile auf stdout ist Info, eine Zeile auf stderr eine Warnung, und eine Zeile, die ein JSON-Objekt mit einem Text `level` ist (`debug` oder `trace`, `info`, `warn` oder `warning`, `error`, `fatal` oder `critical`), behält diese Stufe. Eine solche JSON-Zeile zeigt ihr `message` (oder `msg`) als Meldung und ihre übrigen Felder (höchstens 32, jedes auf 1024 Zeichen gekürzt) als Daten; ein W3C-Feld `traceparent` verbindet sie mit der Anfrage, sodass die Suche nach der Request-ID sie neben den Zeilen des Daemons findet. Eine `debug`-Zeile bleibt nur, solange ein Administrator die Debug-Meldungen der App eingeschaltet hat. ### Der Ressourcenmonitor ![Der Ressourcenmonitor, Leistung, mit CPU, Arbeitsspeicher mit dem ZFS-Cache, Netzwerk und Festplatten, eine Platte beschäftigt mit einem Scrub](../../../../../assets/screenshots/monitor-performance.de.webp) _Die Ansicht Leistung über die letzte Minute, hier während eines Scrubs._ Der Ressourcenmonitor hat die Ansichten **Leistung** und **Prozesse**, mit Zeiträumen von einer Minute, 10 Minuten und einer Stunde. Er misst jede Sekunde, und nur, solange jemand zuschaut; der Verlauf wird eine Stunde lang im Arbeitsspeicher gehalten. Der Verlauf deckt also nur die Zeit ab, in der der Monitor irgendwo geöffnet war: Solange niemand zuschaut, wird nichts gemessen. Er zeigt die CPU insgesamt und pro Kern sowie den Arbeitsspeicher aufgeteilt in Programme, ZFS-Cache (ARC), Seiten-Cache und Frei, dazu Swap. Der ZFS-Cache gibt Speicher sofort ab, sobald Programme ihn brauchen. Der Netzwerkverkehr wird pro Schnittstelle gezeigt, Lesen, Schreiben und Auslastung pro Platte (aus den Zählern des Kernels, sodass eine schlafende Platte weiterschläft) und Temperaturen von den Sensoren; Plattentemperaturen werden hier nicht gelesen. Die Prozessliste zeigt Name, PID, Benutzer, CPU (Anteil aller Kerne zusammen) und Speicher, mit einem Filter. Einstellungen > **Info-Center** zeigt Version, Hostname, Kernel, CPU, Arbeitsspeicher und Laufzeit. ### Benachrichtigungen Jeder Benutzer hat im Desktop eine Liste (bis zu 200 Einträge, 30 Tage aufbewahrt). Administratoren bekommen Speicherwarnungen (beeinträchtigte oder ausgefallene Pools, fehlende Platten, Datenfehler, 80 und 90 Prozent voll, ausfallende SMART-Werte), Job-Ergebnisse und die Store-Hinweise „App-Updates“ und „Katalog nicht abgerufen“. Apps mit der Berechtigung, Benachrichtigungen zu zeigen, können an den Benutzer senden, der sie nutzt. ## USB-Stick schreiben > Die Image-Datei, wie du sie prüfst und wie du sie unter Windows, macOS und Linux auf einen USB-Stick schreibst. Source: https://pithyx.org/de/docs/install/usb-stick/ Markdown: https://pithyx.org/de/docs/install/usb-stick.md Der Pithyx-Installer kommt als eine Image-Datei (`.iso`), die du auf einen USB-Stick schreibst und von der du deinen Computer startest. Das Image ist für 64-Bit-x86-Computer mit UEFI gedacht. Du lädst es von den [Releases auf GitHub](https://github.com/pithyx/pithyx/releases) herunter. ### Herunterladen Das Image heißt `pithyx--amd64.iso`. Daneben liegt eine Prüfsummendatei, `pithyx--amd64.iso.sha256`. Das Volume-Label ist `PITHYX`. Der Installer braucht den Stick nur für die Installation und keine Internetverbindung. Du brauchst einen USB-Stick, auf den das Image passt. Beim Schreiben wird alles darauf gelöscht. ### Den Download prüfen Die Prüfsummendatei enthält den SHA-256-Hash des Images. Vergleiche den Hash deiner heruntergeladenen Datei damit. Das Image selbst trägt keine Signatur, die Prüfsumme sagt dir also nur, dass der Download vollständig und unverändert ist, nicht, wer ihn erstellt hat. Unter Linux, im Ordner mit beiden Dateien: ```sh sha256sum -c pithyx--amd64.iso.sha256 ``` Unter macOS: ```sh shasum -a 256 pithyx--amd64.iso ``` Unter Windows (PowerShell): ```powershell Get-FileHash pithyx--amd64.iso -Algorithm SHA256 ``` Unter macOS und Windows vergleichst du den ausgegebenen Hash mit dem aus der `.sha256`-Datei mit bloßem Auge. ### Unter Windows, macOS und Linux schreiben Das Image ist ein Hybrid-Image: Schreibe es als ganzes Datenträgerabbild auf den Stick, nicht als Dateien, die du auf den Stick kopierst. Jedes Programm, das Datenträgerabbilder schreibt, funktioniert. Wähle den Stick als Ziel und die `.iso`-Datei als Quelle, im Raw-Modus (DD), falls das Programm danach fragt. > **Caution:** > > Beim Schreiben wird alles auf dem Stick gelöscht. Prüfe, dass du das richtige Laufwerk gewählt hast. Ein falsches Ziel kann eine andere Festplatte löschen. Unter Linux kannst du den Befehl `dd` nutzen. Ersetze `/dev/sdX` durch das Gerät des Sticks (prüfe es mit `lsblk`): ```sh sudo dd if=pithyx--amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync ``` Unter Windows und macOS nimmst du ein grafisches Schreibprogramm deiner Wahl, unter macOS auch `dd`. Der Stick startet nur im UEFI-Modus; einen Legacy-BIOS-Start gibt es nicht. Der Installer wird in virtuellen Maschinen getestet (QEMU mit KVM und UEFI-Firmware), mit dem Image als USB-Stick. Den Start als virtuelle CD oder auf einer Auswahl echter Hardware hat niemand getestet. Wenn der Stick fertig ist, mach weiter mit [Firmware und Boot](https://pithyx.org/de/docs/install/firmware-and-boot/). ## Firmware und Boot > UEFI-Einstellungen, warum Secure Boot aus sein muss, und das Bootmenü des Sticks und des installierten Systems. Source: https://pithyx.org/de/docs/install/firmware-and-boot/ Markdown: https://pithyx.org/de/docs/install/firmware-and-boot.md Pithyx startet nur im UEFI-Modus, und Secure Boot muss ausgeschaltet sein. Beides änderst du in den Firmware-Einstellungen deines Computers, bevor du den Installer startest. Der Stick zeigt ein kurzes Bootmenü, und der Installer läuft danach in einem Browser auf einem anderen Gerät. ### UEFI-Einstellungen 1. Schalte den Computer ein und öffne seine Firmware-Einstellungen. Die Taste ist bei jedem Hersteller anders; oft ist es **Entf**, **F2**, **F10** oder **F12**. Viele Computer haben außerdem ein einmaliges Bootmenü, in dem du den Stick auswählst. 2. Stelle sicher, dass die Firmware im **UEFI**-Modus bootet. Der Legacy-Modus (BIOS oder CSM) funktioniert nicht. Wenn du im Legacy-Modus bootest, scheitert auf der ersten Seite des Installers die Prüfung **Mit UEFI gestartet**, und du wirst aufgefordert, die Firmware auf UEFI umzustellen und erneut vom Stick zu starten. 3. Schalte Secure Boot aus (nächster Abschnitt). 4. Starte vom USB-Stick. Das installierte System schreibt seinen Bootloader als Fallback-Eintrag auf die Boot-Partition jeder Systemfestplatte und legt für die erste Festplatte einen benannten Eintrag an. Bei einem Spiegel bekommt die zweite Festplatte einen eigenen Eintrag (**Pithyx (second disk)**). Die Box startet deshalb von jeder der beiden Festplatten, auch wenn der Stick noch steckt. ### Secure Boot Secure Boot muss aus sein. Pithyx nutzt ein ZFS-Modul, das nicht signiert ist, und ein System, das mit eingeschaltetem Secure Boot startet, lädt keine unsignierten Module. Der Installer prüft das auf seiner ersten Seite. Ist Secure Boot an, siehst du: „Secure Boot ist an. Pithyx nutzt ein ZFS-Modul, das nicht signiert ist: Schalte Secure Boot in den Firmware-Einstellungen aus (oft unter Security oder Boot) und starte dann erneut vom USB-Stick.“ Pithyx unterstützt es nicht, Schlüssel für Secure Boot einzutragen. Bei manchen Computern weigert sich die Firmware möglicherweise ganz, den Stick zu starten, solange Secure Boot an ist. Dann erreichst du die Installer-Seite nicht, und Secure Boot auszuschalten ist die Lösung. ### Das GRUB-Menü Der Stick startet ein Bootmenü (GRUB), das 5 Sekunden wartet und dann den ersten Eintrag wählt: - **Install Pithyx** ``: startet den Installer; die Konsole zeigt das Pithyx-Logo statt der Bootmeldungen. - **UEFI firmware settings**: startet neu in die Firmware-Einstellungen. Das installierte System hat ein eigenes Bootmenü, das 3 Sekunden wartet. Es hat kein Passwort. Neben dem System listet es **Pithyx recovery** (Taste `r`) und einen Eintrag je aufbewahrtem System-Snapshot; siehe [Wiederherstellen und neu installieren](https://pithyx.org/de/docs/install/recovery/). ### Vom Stick booten Nachdem der Stick gestartet ist, zeigt die Konsole des Computers das Pithyx-Logo, die Adresse des Installers (zum Beispiel `http://192.168.1.50:7484`) und einen QR-Code dafür. Wird keine Adresse angezeigt, steht dort, dass auf eine Netzwerkadresse (DHCP) gewartet wird, und du sollst das Netzwerkkabel prüfen. Öffne die Adresse in einem Browser auf einem anderen Gerät und mach weiter mit dem [Web-Installer](https://pithyx.org/de/docs/install/installer/). Der Installer löscht die Festplatten, die du wählst, und sonst nichts. Er installiert nicht neben einem anderen Betriebssystem auf derselben Festplatte. ## Der Web-Installer > Jeder Schritt des Installers im Browser: Prüfungen, Name und Region, Netzwerk, Systemfestplatte oder Spiegel, Administratorkonto und der Neustart. Source: https://pithyx.org/de/docs/install/installer/ Markdown: https://pithyx.org/de/docs/install/installer.md Der Installer läuft in einem Browser auf einem anderen Gerät, nicht auf dem Computer, den du installierst. Du startest den Computer vom USB-Stick, öffnest die Adresse, die seine Konsole zeigt, und beantwortest fünf Schritte: Name und Region, Netzwerk, Systemfestplatte, Administratorkonto und eine Zusammenfassung. Der Installer löscht die Systemfestplatten, die du wählst, installiert Pithyx und zeigt dir einen Wiederherstellungsschlüssel. Das dauert ein paar Minuten und braucht keine Internetverbindung. ### Den Installer öffnen 1. Starte den Computer vom Stick (siehe [Firmware und Boot](https://pithyx.org/de/docs/install/firmware-and-boot/)). 2. Lies die Adresse auf der Konsole ab, zum Beispiel `http://192.168.1.50:7484`. IPv6-Adressen erscheinen als `http://[address]:7484`. Port 80 leitet auf Port 7484 weiter. 3. Öffne die Adresse in einem Browser auf einem Handy, Tablet oder Computer im selben Netzwerk. Die Konsole zeigt auch einen QR-Code für die erste Adresse. 4. Die Seite öffnet sich mit **Willkommen bei Pithyx** auf Englisch oder Deutsch, je nach deinem Browser; die Sprachauswahl unter der Karte ändert sie. Prüfe die Voraussetzungen und klicke auf **Los geht's**. Die gewählte Sprache übernimmt Schritt 1, wo du die Sprache der Box wählst. Der erste Browser, der die Seite öffnet, besitzt die Installation. Ein anderer Browser sieht **Installation läuft woanders** und kann nicht weitermachen. Die Konsole nennt die Adresse, der die Installation gehört. Um neu zu beginnen, starte den Computer erneut vom Stick. Schließe den Browser während der Installation nicht. ### Was die Prüfungen bedeuten ![Die Startseite des Installers, Willkommen bei Pithyx, mit den fünf erfüllten Voraussetzungen und dem Knopf Los geht's](../../../../../assets/screenshots/install-requirements.de.webp) _Der Installer zeigt seine fünf Prüfungen vor dem ersten Schritt._ Die erste Seite, **Voraussetzungen**, zeigt fünf Prüfungen. **Los geht's** bleibt deaktiviert, bis alle bestanden sind. | Prüfung | Was sie braucht | | ------------------------------------ | --------------------------------------------------------------------------- | | 64-Bit-Prozessor mit x86-64-v2 | Einen Prozessor mit SSE4.2 und POPCNT | | Mit UEFI gestartet | Firmware im UEFI-Modus, nicht im Legacy-Modus (BIOS) | | Mindestens 2 GB Arbeitsspeicher | Die Seite zeigt, wie viel sie gefunden hat, und weist unter 4 GB darauf hin | | Secure Boot ist aus | Schalte es in der Firmware aus | | Eine Festplatte mit mindestens 32 GB | Der Stick dieses Installers zählt nicht | Jede fehlgeschlagene Prüfung zeigt, was zu tun ist. Siehe [Hardware-Anforderungen](https://pithyx.org/de/docs/getting-started/requirements/). ### Name und Region (Schritt 1) - **Name des NAS**: der Name der Box, Standard `pithyx`. Kleinbuchstaben, Ziffern und Bindestriche, 1 bis 63 Zeichen, kein Bindestrich am Anfang oder Ende. - **Sprache**: Englisch oder Deutsch für die Box. - **Formate**: die Region für Datums- und Zahlenformate, oder **Der Sprache jedes Benutzers folgen**. - **Zeitzone**: aus deinem Browser vorbelegt. - **Zeitserver (optional)**: durch Kommas getrennt. Leer lassen für die Standardserver. - **Tastaturlayout der Konsole**: gilt für die installierte Box. ### Netzwerk (Schritt 2) Die Seite listet jede Netzwerkkarte mit ihrem Zustand: **Verbunden**, **Kein Kabel** oder **Noch keine Adresse**. Standardmäßig bekommt jede verbundene Karte ihre Adresse per DHCP. Öffne bei einer Karte **Einstellungen von** und den Namen der Karte, um **Feste Adresse** und bei Bedarf **Nameserver (optional)** zu wählen. Klicke auf **Verbindung testen**, um die Einstellungen kurz auszuprobieren: Die Seite kann für ein paar Sekunden die Verbindung verlieren, und das Ergebnis sagt, ob das Gateway antwortet. Die Einstellungen werden nach dem Test immer zurückgenommen, egal ob er gelungen ist oder nicht. Ohne Änderungen prüft der Test die Karten so, wie sie sind. Darunter zeigt **Nach der Installation antwortet die Box unter** die Adresse, die du benutzen wirst. Bonds, VLANs und weitere Optionen kommen nach der Installation, in den Einstellungen unter Netzwerk. Siehe [Netzwerk](https://pithyx.org/de/docs/admin/network/). ### Systemfestplatte und Spiegel (Schritt 3) ![Schritt 3 des Installers mit eingeschaltetem Auf zwei Festplatten spiegeln und gewählter zweiter Festplatte; eine Festplatte mit alten Daten trägt den Hinweis, dass sie gelöscht wird](../../../../../assets/screenshots/install-system-disk-mirror.de.webp) _Schritt 3 mit eingeschaltetem Spiegel: Die zweite Festplatte wählst du aus derselben Liste._ Wähle die Festplatte für das System. Jede Festplatte wird mit Modell, Größe und Seriennummer aufgelistet. Festplatten, die nicht genutzt werden können, sind ausgegraut und nennen den Grund (der USB-Stick dieses Installers, schreibgeschützt, in Benutzung, zu klein). Eine Festplatte mit Daten zeigt „Auf dieser Festplatte liegen Daten, die gelöscht werden.“ Eine USB-Festplatte oder eine Speicherkarte lässt sich wählen, trägt aber eine Warnung, dass sie sich unter den Schreibzugriffen des Systems schnell abnutzt (siehe [Hardware-Anforderungen](https://pithyx.org/de/docs/getting-started/requirements/)); eingebauter eMMC-Speicher trägt keine. - Um auf zwei Festplatten als Spiegel zu installieren, schalte **Auf zwei Festplatten spiegeln** ein und wähle eine **Zweite Festplatte**. Das System wird auf beide Festplatten geschrieben, und die Box läuft weiter, wenn eine ausfällt. Die Option erscheint nur, wenn zwei nutzbare Festplatten vorhanden sind. - Mit einer Festplatte wird das System trotzdem als Spiegel mit einem Mitglied gebaut. Deine Daten kommen nicht auf die Systemfestplatte. Pools legst du später auf anderen Festplatten im Speicher an. ### Administratorkonto (Schritt 4) Das ist der erste Benutzer der Box. Fülle aus: - **Benutzername**: Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche, beginnend mit einem Buchstaben oder Unterstrich, höchstens 32 Zeichen. Namen wie `root` und `docker` sind reserviert. - **Anzeigename (optional)** - **Passwort** und **Passwort wiederholen**: mindestens 8 Zeichen und kein weit verbreitetes Passwort. Root bleibt gesperrt. Dieses Konto bekommt Administratorrechte, ist das Owner-Konto und darf über SSH `sudo` verwenden. Siehe [Erste Einrichtung](https://pithyx.org/de/docs/install/first-setup/). ### Zusammenfassung und Installation (Schritt 5) Die Zusammenfassung listet Name, Sprache, Zeitzone, Tastatur und Administrator auf, und unter **Diese Festplatten werden gelöscht** die Festplatten, die gelöscht werden. Hake **Alle Daten auf diesen Festplatten werden gelöscht** an und klicke auf **Pithyx installieren**. Festplatten, die du nicht gewählt hast, bleiben unberührt. Die Seite zeigt dann **Pithyx wird installiert** mit diesen Schritten: **Festplatten werden partitioniert**, **Spiegel wird angelegt**, **Dateisysteme werden angelegt**, **System wird kopiert**, **Einstellungen werden geschrieben**, **Bootloader wird installiert** und **Abschluss**. Lass den Computer eingeschaltet. Der Schritt **Spiegel wird angelegt** erscheint auch mit einer Festplatte. Schlägt ein Schritt fehl, zeigt die Seite **Die Installation ist fehlgeschlagen**, welcher Schritt fehlgeschlagen ist, und den Befehl mit seinem Exit-Code. Klicke auf **Einstellungen ändern**, um zurückzugehen. Nach einem Fehlschlag ist nichts vollständig installiert, und du kannst es erneut versuchen. ### Nach dem Neustart ![Die Seite Pithyx ist installiert mit dem Wiederherstellungsschlüssel einer Testinstallation, den Knöpfen Schlüssel kopieren und Drucken und dem Kästchen Ich habe den Wiederherstellungsschlüssel gesichert](../../../../../assets/screenshots/install-recovery-key.de.webp) _Der Wiederherstellungsschlüssel erscheint einmal, wenn die Installation endet. Dieser gehört zu einer gelöschten Testmaschine._ Wenn die Installation endet, zeigt die Seite **Pithyx ist installiert** und deinen Wiederherstellungsschlüssel. Kopiere oder drucke ihn, hake **Ich habe den Wiederherstellungsschlüssel gesichert** an und klicke auf **Weiter**. Dann sagt die Seite **USB-Stick entfernen**. Entferne den Stick und klicke auf **Jetzt neu starten**. Die Seite zeigt dann **Pithyx startet** und öffnet das neue System von selbst, sobald es antwortet. Die installierte Box spricht HTTPS mit einem selbst erstellten Zertifikat, deshalb warnt der Browser einmal; fahre zur Seite fort. Das kann ein paar Minuten dauern. Passiert nichts, öffne die Adresse `https://:7484` selbst. Die Box behält ihre Adresse meistens, weil sich die Netzwerkkarte auf dieselbe Weise ausweist, aber ein Router könnte eine andere vergeben. Die Konsole der installierten Box zeigt die aktuellen Adressen. Melde dich mit dem Administratorkonto an, das du angelegt hast. Mach dann weiter mit [Erste Einrichtung](https://pithyx.org/de/docs/install/first-setup/). ## Erste Einrichtung > Das Owner-Konto, der Wiederherstellungsschlüssel, der erste Pool und weitere Benutzer nach der Installation. Source: https://pithyx.org/de/docs/install/first-setup/ Markdown: https://pithyx.org/de/docs/install/first-setup.md Der Installer legt das Owner-Konto an, deshalb hat eine frisch installierte Box keinen eigenen Einrichtungsassistenten: Du meldest dich unter `https://:7484` an. Der Browser warnt einmal vor dem eigenen Zertifikat der Box; fahre fort und lies unter [Zertifikate](https://pithyx.org/de/docs/admin/certificates/), wie deine Geräte der Box vertrauen. Übrig bleibt, den Wiederherstellungsschlüssel sicher aufzubewahren, einen Pool für deine Daten anzulegen und Benutzer hinzuzufügen. Einen Pool gibt es nach der Installation noch nicht. ### Das Owner-Konto Das Owner-Konto ist der Administrator, den du in Schritt 4 des Installers angelegt hast. Er darf alles und ist zunächst das einzige Konto. Root bleibt gesperrt, und SSH ist aus. Zum Anmelden gibst du auf der Seite **Willkommen zurück** deinen **Benutzernamen** und dein **Passwort** ein und klickst auf **Anmelden**. Nach fünf falschen Versuchen für denselben Benutzernamen und dieselbe Adresse innerhalb von fünf Minuten pausiert die Anmeldung für kurze Zeit. Es gibt auch eine Einrichtungsseite (**Pithyx einrichten**, **Administrator anlegen**). Sie erscheint nur, wenn eine Box überhaupt keine Benutzer hat, zum Beispiel nach einem Zurücksetzen. Auf einer Box, die mit dem Installer installiert wurde, siehst du sie nicht. Die Zwei-Faktor-Anmeldung ist optional. Um sie einzuschalten, öffne das Pithyx-Menü, klicke auf deinen Namen und wähle **Zwei-Faktor-Authentifizierung**. Siehe [Dein Konto](https://pithyx.org/de/docs/user/account/). ### Der Wiederherstellungsschlüssel Der Wiederherstellungsschlüssel wird einmal angezeigt, am Ende der Installation. Er sieht aus wie `PTHX-`, gefolgt von Buchstaben und Ziffern in Vierergruppen. Er ist der einzige Weg, ein Administratorpasswort ohne einen anderen Administrator zurückzusetzen. Die Box speichert nur einen Hash davon, deshalb kann ihn niemand noch einmal anzeigen. - Drucke ihn aus oder speichere ihn in einem Passwortmanager. - Bewahre ihn nicht nur auf der Box auf. - Es gibt einen Schlüssel für die ganze Box. Er funktioniert für jedes Administratorkonto. - Wenn du ihn benutzt, wird er ersetzt: Das Zurücksetzen zeigt einen neuen Schlüssel an, und der alte gilt nicht mehr. Das Zurücksetzen schaltet außerdem die Zwei-Faktor-Anmeldung des Administrators aus und beendet seine Sitzungen. - Das Konfigurationsbackup enthält den Wiederherstellungsschlüssel. Wenn du den Schlüssel und das Passwort verlierst, muss das System neu installiert werden. Siehe [Wiederherstellen und neu installieren](https://pithyx.org/de/docs/install/recovery/). ### Der erste Pool ![Der Assistent Pool anlegen bei Schritt 3, Verschlüsselung, mit gewählter Option Keine Verschlüsselung; Mit einem Schlüssel verschlüsseln ist noch nicht verfügbar](../../../../../assets/screenshots/first-setup-encryption.de.webp) _Schritt 3 des Pool-Assistenten: Verschlüsselung lässt sich nur beim Anlegen des Pools wählen._ Alle deine Daten liegen auf ZFS-Pools, und die Box startet ohne einen. Lege den ersten Pool in der Speicher-App an, die nur Administratoren öffnen können: 1. Öffne das Pithyx-Menü und starte **Speicher**. 2. Klicke auf **Pool anlegen…**. 3. Wähle die Platten, einen Aufbau, ob verschlüsselt werden soll, und einen Namen. Die Schritte heißen **Platten**, **Aufbau**, **Verschlüsselung**, **Name und Prüfung**. 4. Klicke auf **Pool anlegen**. Hinweise: - Bei einer Platte mit Daten musst du ihre Seriennummer eintippen, bevor sie genutzt werden kann. Die Systemplatte wird nie angeboten. - Pools lassen sich noch nicht verschlüsseln. **Mit einem Schlüssel verschlüsseln** ist nicht verfügbar, und ein Pool, den du anlegst, bleibt unverschlüsselt. Wähle **Keine Verschlüsselung**. - Der Assistent kann die Befehle anzeigen, die er ausführt: **Befehle anzeigen**. - Pool-Namen beginnen mit einem Kleinbuchstaben und dürfen Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche enthalten. - Du kannst das Fenster schließen, während der Pool angelegt wird; eine Benachrichtigung sagt dir, wann er fertig ist. Benutzer bekommen einen Home-Ordner auf dem ersten Pool mit dem Pithyx-Layout, sobald es einen gibt ([Home-Ordner](https://pithyx.org/de/docs/admin/home-folders/)). Apps brauchen einen App-Pool, den ein Administrator bei der Installation der ersten App wählt. Auch freigegebene Ordner liegen auf einem Pool. Siehe [Speicher und Pools](https://pithyx.org/de/docs/admin/storage/) und [Freigaben](https://pithyx.org/de/docs/admin/shared-folders/). ### Benutzer hinzufügen Pithyx kennt keine Einladungslinks. Ein Administrator legt jedes Konto an: 1. Öffne Einstellungen > **Benutzer**. 2. Klicke auf **Benutzer anlegen** und gib einen Benutzernamen, einen optionalen Anzeigenamen und ein Passwort ein. Jeder Benutzer ist außerdem in der Gruppe `users`. 3. Gib der Person das Passwort persönlich oder über einen anderen sicheren Kanal weiter. 4. Stelle die Rechte im Dialog **Rechte** ein. Ein neuer Benutzer kann sich am Desktop anmelden, SMB nutzen und die Apps Dateien und Betrachter öffnen. Alles andere muss vergeben werden: andere Dateidienste (SFTP, WebDAV, FTP), SSH, Neustarten und Herunterfahren, die anderen Apps und der Zugriff auf jeden freigegebenen Ordner. Administratoren haben alle Rechte. Benutzer können ihr eigenes Passwort nicht ändern. Ein Administrator setzt ein neues mit **Neues Passwort**. Siehe [Benutzer und Gruppen](https://pithyx.org/de/docs/admin/users-and-groups/) und [Rechte](https://pithyx.org/de/docs/admin/permissions/). Ein guter letzter Schritt ist ein Konfigurationsbackup. Siehe [Konfigurationsbackup](https://pithyx.org/de/docs/admin/backup/). ## Systemupdates > Update-Kanäle, wie ein Update geprüft und eingespielt wird und was passiert, wenn eines scheitert. Source: https://pithyx.org/de/docs/install/updates/ Markdown: https://pithyx.org/de/docs/install/updates.md Pithyx aktualisiert sich aus signierten Update-Dateien: Einmal am Tag prüft es, ob sein Kanal eine neuere Version hat, und benachrichtigt die Administratoren, installiert aber nie von selbst. Vor jedem Update macht die Box einen Snapshot des Systems, und nach dem Neustart prüft sie die neue Version bis zu fünf Minuten lang; schlägt diese Prüfung fehl, kehrt sie von selbst zum Snapshot zurück. Updates findest du unter Einstellungen > **Updates** (nur Administratoren). Pools und ihre Dateien fasst weder ein Update noch eine Rückkehr an. Updates gelten nur für eine Box, die mit dem Pithyx-Installer installiert wurde. Auf einer anders aufgebauten Maschine kann Einstellungen > **Updates** nach Updates suchen, sie aber nicht installieren oder zurückkehren ([`update.system.unsupported`](https://pithyx.org/de/docs/reference/errors/#update.system.unsupported)). ### Kanäle Unter **Einstellungen** auf der Update-Seite wählst du den **Kanal**: - **Stabil** bekommt nur Releases. - **Beta** bekommt neue Versionen früher, zum Testen. Eine Beta-Box installiert auch stabile Versionen. **Täglich nach Updates suchen** ist standardmäßig an. Die Prüfung liest die kleine `channel.json` des Kanals von der Update-Quelle und die Paketlisten von Debian und benachrichtigt dann die Administratoren („Pithyx {version} ist verfügbar“ und eine eigene Meldung, wenn Debian Sicherheitskorrekturen hat). Jede Box wählt ihre eigene zufällige Tageszeit für die Prüfung; **Nächste Prüfung** zeigt sie. **Jetzt prüfen** führt sie sofort aus. Schaltest du die tägliche Prüfung aus, entfällt nur die automatische Prüfung, nicht **Jetzt prüfen**. Standardmäßig ist die Quelle die Releases des Pithyx-Projekts auf GitHub. Nur das Recovery-Menü an der Konsole kann auf eine andere Quelle wechseln, zum Beispiel auf einen Fork; siehe [Die Update-Quelle wechseln](https://pithyx.org/de/docs/install/update-source/). ### Prüfen und installieren Hat der Kanal eine neuere Version, zeigt die Seite „Pithyx {version} ist verfügbar“ mit **Was sich ändert** (dem Changelog) und der Zahl der Debian-Updates. **{version} installieren** öffnet einen Dialog: 1. Die Box macht einen Snapshot des Systems, damit du immer zur jetzigen Version zurückkannst. 2. Sie installiert das Update und, wenn du es ankreuzt, die Debian-Updates im selben Snapshot. 3. Sie schreibt den Bootloader auf jede Systemplatte und startet neu. Während des Neustarts ist die Box nicht erreichbar. 4. Nach dem Neustart prüft sie die neue Version und behält sie oder kehrt zum Snapshot zurück. Bestätige mit **Installieren und neu starten**. Der Fortschritt zeigt die Schritte Herunterladen, Snapshot, Installieren, Debian-Updates, Bootloader sowie Neustart und Prüfung; die Seite verbindet sich nach dem Neustart von selbst neu, und der **Verlauf** zeigt das Ergebnis. Was eine Update-Datei mitbringt: - Die Pithyx-Pakete, den Kernel und das ZFS-Modul. Kernel und ZFS ändern sich nur zusammen durch ein Pithyx-Update, nie durch Debian allein. - Jedes andere Paket des Images, das sich seit der Mindestversion der Datei geändert hat. Eine Datei aktualisiert jede Box ab dieser Mindestversion, ohne die Versionen dazwischen. - Debians Sicherheitsupdates sind nicht Teil der Datei. Die Box holt sie von Debian; die Seite zählt sie, und der Installationsdialog bietet sie an. **Ohne Internet** nimmst du **Aus einer Datei installieren**: **Update-Datei hochladen** nimmt eine `.pithyxupdate`-Datei von höchstens 4 GB. Die Box prüft die ganze Datei, bevor sich etwas ändert, und zeigt dann Version, Kanal, Zahl der Pakete und Kernel. Installiere sie mit **{version} installieren** oder wirf sie mit **Verwerfen** weg. Die Datei bleibt bis zum nächsten Hochladen oder einem Neustart des Daemons. Das Recovery-Menü kann eine Datei auch von einem USB-Stick installieren (unten). Regeln, die jedes Update befolgt: - Eine Datei, die älter als die installierte Version oder gleich alt ist, wird abgelehnt ([`update.file.older`](https://pithyx.org/de/docs/reference/errors/#update.file.older)). Eine ältere Version kommt nur durch eine Rückkehr zurück. - Braucht eine Version eine neuere Mindestversion als die installierte, heißt es „Diese Version braucht mindestens Pithyx {minimum}“. Installiere dann zuerst eine Version dazwischen aus einer Update-Datei ([`update.file.minimum`](https://pithyx.org/de/docs/reference/errors/#update.file.minimum)). - Eine stabile Box installiert nur stabile Dateien ([`update.file.channel`](https://pithyx.org/de/docs/reference/errors/#update.file.channel)). - Die Systemplatte braucht genug freien Platz ([`update.space.insufficient`](https://pithyx.org/de/docs/reference/errors/#update.space.insufficient)). - Es läuft immer nur ein Update oder eine Rückkehr gleichzeitig ([`update.apply.running`](https://pithyx.org/de/docs/reference/errors/#update.apply.running)). ### Signaturen Jede Update-Datei und jede `channel.json` ist mit Ed25519 signiert. Die Box prüft: - die Signatur der Kanaldatei und des Manifests der Update-Datei gegen die öffentlichen Schlüssel, die in Pithyx eingebaut sind: Dem Release-Schlüssel vertraut sie auf beiden Kanälen, dem Beta-Schlüssel nur auf Beta; - Größe und SHA-256 jedes Pakets in der Datei, und dass die Datei nichts enthält, was ihr Manifest nicht nennt; - dass eine Kanaldatei nicht älter ist als eine, die sie schon gesehen hat, damit sich keine alte `channel.json` wieder einspielen lässt ([`update.channel.sequence_old`](https://pithyx.org/de/docs/reference/errors/#update.channel.sequence_old)); - dass eine heruntergeladene Datei genau die ist, die der Kanal nennt ([`update.download.mismatch`](https://pithyx.org/de/docs/reference/errors/#update.download.mismatch)). Eine Datei oder ein Kanal mit fehlender, beschädigter oder nicht vertrauenswürdiger Signatur wird abgelehnt, und nichts ändert sich ([`update.file.signature_invalid`](https://pithyx.org/de/docs/reference/errors/#update.file.signature_invalid), [`update.channel.signature_invalid`](https://pithyx.org/de/docs/reference/errors/#update.channel.signature_invalid)). Unsignierte Dateien sind Entwicklungsdateien, die nur eine Entwicklungsmaschine annimmt. ### Wenn ein Update scheitert - **Vor dem Snapshot** (Herunterladen, Prüfungen, Platz): Nichts hat sich geändert. Der Verlauf zeigt „Fehlgeschlagen, nichts geändert“. - **Nach dem Snapshot**: Die Box kehrt von selbst zum Snapshot zurück. Nach dem Neustart wartet eine Prüfung bis zu fünf Minuten auf den Daemon, seine Datenbank-Migrationen, die API, den Desktop und die Pools, die vorher importiert waren. Schlägt eines davon fehl, stellt die Box den Snapshot wieder her und startet neu. Kommt das neue System nicht einmal so weit, fällt der nächste Start über das Bootmenü auf die vorherige Version zurück. In beiden Fällen bekommen die Administratoren „Update auf {version} fehlgeschlagen“, und der Verlauf zeigt „Fehlgeschlagen, vorherige Version zurück“. Der Fehler [`update.apply.failed`](https://pithyx.org/de/docs/reference/errors/#update.apply.failed) nennt den Schritt und den Befehl, der gescheitert ist. Die Details stehen im Log Center. ### Snapshots und Rückkehr Vor jedem Update wird ein Snapshot des Systems gemacht; die letzten drei bleiben. **Snapshots** auf der Update-Seite listet sie auf, und **Zu dieser Version zurück** stellt einen wieder her: Gib die Version zur Bestätigung ein und wähle **Zurück und neu starten**. Seit dem Snapshot geänderte Einstellungen gehen verloren (Benutzer, freigegebene Ordner, App-Einstellungen). Pools und ihre Dateien bleiben, wie sie sind. Das Bootmenü hat für jeden behaltenen Snapshot einen Eintrag (Tasten 1 bis 3, der neueste zuerst). Er startet diesen Snapshot schreibgeschützt in das Recovery-Menü, das die Rückkehr zu ihm anbietet. ### Das Recovery-Menü Der Bootmenü-Eintrag **Pithyx recovery** (Taste `r`) startet ein Menü auf dem Bildschirm der Box. Es ist auf Englisch: - **[1] Roll back to a snapshot**: zu einem Snapshot zurück, bestätigt durch Eingabe der Version. - **[2] Install an update file from a USB stick**: Die Datei muss im obersten Ordner des Sticks liegen. Das Menü prüft sie wie ein Hochladen und installiert, nachdem du `install` eingibst. - **[3] Reset the network to DHCP**: jede Netzwerkkarte zurück auf DHCP, Bonds, VLANs und Nameserver entfernt, wirksam beim nächsten Start. - **[4] Change the update source**: siehe [Die Update-Quelle wechseln](https://pithyx.org/de/docs/install/update-source/). - **[0] Restart**: Neustart. Das Menü hat kein Passwort. Wer die Konsole der Box bedienen kann, vor Ort oder über die Fernwartung (BMC, IPMI), hat die Box ohnehin in der Hand; siehe [Sicherheit](https://pithyx.org/de/docs/admin/security/#physischer-zugriff). Sichere die Konsole und jede Fernwartung der Maschine. Jede Aktion des Menüs wird protokolliert. ## Die Update-Quelle wechseln (Forks) > Wie eine Box den Updates eines Forks statt dem Pithyx-Projekt folgt, was das bedeutet, der Weg zurück und was ein Fork veröffentlichen muss. Source: https://pithyx.org/de/docs/install/update-source/ Markdown: https://pithyx.org/de/docs/install/update-source.md Eine Pithyx-Box bezieht ihre Updates aus genau einer Update-Quelle, standardmäßig vom Pithyx-Projekt. Pithyx ist freie Software, deshalb darf eine Box stattdessen einem Fork folgen, aber nur durch eine bewusste Handlung an der Konsole der Box: Das Recovery-Menü ist der einzige Ort, der die Update-Quelle und die Schlüssel wechselt, denen die Box vertraut, nie die Einstellungen, die API oder eine hochgeladene Datei. Ein übernommenes Administratorkonto kann die Updates einer Box also nicht umleiten. Nach einem Wechsel vertraut die Box nur noch den Schlüsseln der neuen Quelle, bis jemand im selben Menü zurückwechselt. ### Für Administratoren #### Was ein Wechsel bedeutet - Wer die Updates der Quelle signiert, kann alles auf der Box ändern: Ein Update läuft als root. Wechsle nur zu einer Quelle, der du vertraust. - Solange die Box einer anderen Quelle folgt, lehnt sie Updates des Pithyx-Projekts ab. - Der Fork kann das System und seine Datenbank so ändern, dass der Weg zurück zum Pithyx-Projekt eine Neuinstallation braucht. Ein Pithyx-Daemon lehnt eine Datenbank mit Schemaversionen ab, die er nicht kennt. - Pools und ihre Dateien fasst der Wechsel nie an. - Der Wechsel liegt auf der Systemplatte. Eine Rückkehr zu einem Snapshot von vor dem Wechsel kehrt auch zur Quelle dieses Snapshots zurück. Er ist nicht Teil der Konfigurationssicherung. #### Wechseln Du brauchst die `pithyx-source.json` der Quelle, die der Fork zusammen mit seinen öffentlichen Schlüsseln veröffentlicht. Das Menü nimmt sie auf einem von drei Wegen: - **Aus den Einstellungen**: Einstellungen > **Updates**, **Update-Quelle**, **Quelldatei für das Recovery-Menü speichern**. Die Box prüft die Datei und behält sie, aber es ändert sich nichts, bis sie an der Konsole gewählt wird. Das hilft, wenn du die Konsole nur über die Fernwartung erreichst. **Entfernen** vergisst die gespeicherte Datei. - **Von einem USB-Stick**: Leg die Datei (`pithyx-source.json` oder ein Name, der mit `pithyx-source` beginnt und auf `.json` endet) in den obersten Ordner des Sticks. Die virtuellen Medien eines BMC gehen auch. - **Getippt**: Name, Kanal-URL und jeder Schlüssel mit seiner Id und seinen Kanälen. Dann: 1. Starte die Box neu und wähle im Bootmenü **Pithyx recovery** (Taste `r`). 2. Wähle **[4] Change the update source**, dann **[1] Read pithyx-source.json from a USB stick**, **[2] Use the file saved in Settings** oder **[3] Type the source**. 3. Das Menü zeigt den Namen, die Kanal-URL und jeden öffentlichen Schlüssel vollständig. Vergleiche jeden Schlüssel mit dem, den die Quelle veröffentlicht. 4. Tippe den Namen der Quelle, um zu wechseln. Alles andere ändert nichts. 5. Starte mit **[0] Restart** neu. Ab diesem Start folgt die Box der neuen Quelle. Nach dem Neustart bekommen die Administratoren die Benachrichtigung „Die Update-Quelle ist jetzt {name}“, und Einstellungen > **Updates** zeigt die Quelle mit dem Hinweis „Diese Box folgt {name}, nicht dem Pithyx-Projekt.“ Wenn bei dir niemand gewechselt hat, wechsle sofort zurück. Eine Datei, die die Prüfung nicht besteht, wird mit [`update.source.invalid`](https://pithyx.org/de/docs/reference/errors/#update.source.invalid) abgelehnt. #### Der Weg zurück Wähle im Recovery-Menü **[4] Change the update source**, dann **[4] Back to the Pithyx project**, und tippe `Pithyx`. Nach dem Neustart vertraut die Box wieder nur den eingebauten Schlüsseln des Projekts und liest seine Releases. Updates installieren sich nur, wenn sie neuer als die installierte Version sind: Eine Box, die einen Fork mit höherer Versionsnummer hatte, wartet also auf ein neueres Pithyx-Release, und ein Fork, der die Datenbank geändert hat, kann eine Neuinstallation nötig machen (siehe [Wiederherstellung und Neuinstallation](https://pithyx.org/de/docs/install/recovery/)). ### Für Betreiber eines Forks Eine Box, die zu deinem Fork wechselt, liest deine Kanäle genau so wie die des Projekts: dieselben Dateiformate, dieselben Prüfungen und dieselben Regeln. Du veröffentlichst drei Dinge. #### 1. Einen Signaturschlüssel `tools/release/create-key.sh ` erzeugt einen Ed25519-Schlüssel, schreibt den privaten Teil als PEM mit Modus 600 und gibt den öffentlichen Teil aus. Halte den privaten Schlüssel aus dem Repository und aus Logs heraus. Eine Schlüssel-Id besteht aus Kleinbuchstaben, Ziffern, `.` und `-`, höchstens 64 Zeichen. Eine Quelle darf bis zu vier Schlüssel nennen, jeden für `stable`, `beta` oder beide, so kannst du einen Reserveschlüssel halten oder wechseln: `tools/release/sign-update.sh --append` signiert mit einem zweiten Schlüssel und behält die erste Signatur. #### 2. Update-Dateien und Kanäle Baue und signiere sie mit den Release-Skripten des Repositorys (das Release-Werkzeug erledigt die Schritte 1 bis 3 mit der richtigen Baseline: `tools/release/pithyx-release update --version --build-image --sign`, siehe [Veröffentlichen](https://pithyx.org/de/docs/project/releasing/)): 1. `image/build.sh --version ` baut das Image und die Liste seiner Pakete. 2. `tools/release/build-update.sh --version --channel stable|beta [--minimum ] [--since | --full]` baut `pithyx--amd64.pithyxupdate` (unsigniert). Sie enthält jedes Paket, dessen Version von der Paketliste der Mindestversion abweicht (`image/build.sh` schreibt sie als `image/out/pithyx--amd64.packages`; das Skript sucht die Liste der Mindestversion in `image/baseline/pithyx--amd64.packages`, einem Ordner, den es im Repository noch nicht gibt, also nennt `--since` eine direkt), bewahre also die Paketliste jedes Releases auf, das du veröffentlichst. `--full` nimmt jedes Paket auf. 3. `tools/release/sign-update.sh --key --key-id ` signiert das Manifest und prüft die Datei so, wie eine Box es tut. 4. `tools/release/build-channel.sh --key --key-id --sequence [--url ]` schreibt und signiert `channel.json` und `channel.json.sig`. Um ein Update vor dem Veröffentlichen auszuprobieren, installiere das Image der älteren Version auf einer Testbox, stelle sie in Einstellungen > **Updates** auf den Kanal **Beta** und lade die mit einem Beta-Schlüssel signierte Datei unter **Aus einer Datei installieren** hoch. `build-update.sh` liest die Pakete des letzten Laufs von `image/build.sh`; baue also zuerst das Image der Version und gleich danach die Update-Datei. Veröffentliche `channel.json` und `channel.json.sig` unter deiner Kanal-URL, mit `stable` oder `beta` anstelle von `{channel}`, und die Update-Datei dort, wohin `channel.json` zeigt (ihre URL ist relativ zu `channel.json`). Mit GitHub-Releases passen die Vorgaben von `build-channel.sh` zum Aufbau des Projekts: `channel.json` auf einem Release `channel-`, die Datei auf `beta-` oder `v`. Alles muss über https ohne Zugangsdaten erreichbar sein. Die Regeln, die die Box anwendet: - **Versionen** sind SemVer. Eine Box installiert nur eine Version, die neuer als ihre installierte ist, also muss dein erstes Release neuer sein als die Pithyx-Version auf den Boxen, die zu dir wechseln. - **Mindestversion**: Eine Box, die älter als die Mindestversion einer Datei ist, lehnt sie ab und braucht zuerst eine Version dazwischen. - **Sequenz**: Jede Veröffentlichung eines Kanals erhöht `--sequence` um mindestens eins. Eine Box lehnt eine niedrigere Sequenz ab, als sie gesehen hat. Nach einem Wechsel vergisst die Box die Sequenzen der alten Quelle, deine Kanäle dürfen also bei 1 beginnen. - **Kanäle**: Eine stabile Box installiert nur stabile Dateien, eine Beta-Box beide. Ein Schlüssel signiert nur für die Kanäle, die die Quelle für ihn nennt. - **Datenbank**: Bringt deine Version Datenbank-Migrationen mit, kann eine Box, die später zum Pithyx-Projekt zurückgeht, eine Neuinstallation brauchen. Sag das deinen Nutzern. #### 3. `pithyx-source.json` ```sh node tools/release/update-file.ts source --name "" --url "https:////channel-{channel}/channel.json" \ --key ::stable,beta > pithyx-source.json node tools/release/update-file.ts verify-source pithyx-source.json ``` Die Datei hat `sourceVersion` 1, einen `name` aus 1 bis 64 druckbaren ASCII-Zeichen (er wird an der Konsole zur Bestätigung getippt), eine https-`url` von höchstens 512 Zeichen mit `{channel}` und ein bis vier `keys`, jeder mit `keyId`, `publicKey` (32 Bytes in Base64) und `channels`. Die Box lehnt unbekannte Felder, Dateien über 64 KB und eine doppelte Schlüssel-Id ab. Das Schema ist `tools/release/schema/update-source.v1.schema.json`. Veröffentliche die Datei zusammen mit den öffentlichen Schlüsseln an einem Ort, den deine Nutzer prüfen können, damit sie die Schlüssel vergleichen können, die die Konsole zeigt. ## Wiederherstellen und neu installieren > Vergessene Passwörter, eine ausgefallene Systemfestplatte und Pithyx neu installieren, ohne die Daten auf den Pools zu verlieren. Source: https://pithyx.org/de/docs/install/recovery/ Markdown: https://pithyx.org/de/docs/install/recovery.md Pithyx hat kein Zurücksetzen des Passworts per E-Mail. Ein Benutzer, der sein Passwort vergessen hat, fragt einen Administrator; ein Administrator nutzt den Wiederherstellungsschlüssel aus der Installation. Ist auch der Schlüssel verloren, muss das System neu installiert werden. Eine Neuinstallation löscht nur die Systemfestplatte oder -festplatten, die du wählst, und deine Pools lassen sich danach wieder importieren. ### Passwort vergessen ![Die Anmeldeseite mit dem Formular Passwort zurücksetzen: Benutzername, Wiederherstellungsschlüssel und neues Passwort für Administratoren](../../../../../assets/screenshots/recovery-reset-password.de.webp) _Passwort vergessen? öffnet dieses Formular. Nur Administratoren setzen hier ihr Passwort zurück, mit dem Wiederherstellungsschlüssel._ **Ein normaler Benutzer** fragt einen Administrator. Der Administrator öffnet Einstellungen > **Benutzer** und nutzt für diesen Benutzer **Neues Passwort**. Der Benutzer wird überall abgemeldet und meldet sich mit dem neuen Passwort an. Auch die Dateidienste (SMB und SFTP) bekommen das neue Passwort. **Ein Administrator** nutzt den Wiederherstellungsschlüssel: 1. Klicke auf der Anmeldeseite auf **Passwort vergessen?**. 2. Gib deinen **Benutzernamen**, den **Wiederherstellungsschlüssel** und ein **Neues Passwort** ein. 3. Klicke auf **Passwort zurücksetzen**. 4. Die Seite zeigt einen neuen Wiederherstellungsschlüssel. Bewahre ihn auf. Der alte funktioniert nicht mehr. 5. Melde dich mit dem neuen Passwort an. Was das Zurücksetzen bewirkt: Es ändert das Passwort, schaltet die Zwei-Faktor-Anmeldung dieses Administrators aus und beendet seine Sitzungen. Es funktioniert für jedes Administratorkonto, auch für ein deaktiviertes. Bei jedem Fehler (Benutzername, Schlüssel oder ein Konto, das kein Administrator ist) erscheint dieselbe Meldung: „Benutzername oder Wiederherstellungsschlüssel ist falsch.“ Nach fünf fehlgeschlagenen Versuchen innerhalb von fünf Minuten pausieren weitere Versuche für kurze Zeit. **Ein anderer Administrator** kann dein Passwort auch unter Einstellungen > **Benutzer** setzen, wenn noch einer angemeldet ist. Hast du den Wiederherstellungsschlüssel verloren und kann sich kein Administrator anmelden, setzt nichts das Passwort zurück. Installiere neu (siehe unten). Auf der Konsole gibt es kein Zurücksetzen des Passworts. **Authenticator-App verloren?** Melde dich mit **Stattdessen einen Wiederherstellungscode verwenden** und einem deiner 10 Wiederherstellungscodes an. Siehe [Dein Konto](https://pithyx.org/de/docs/user/account/). ### Systemfestplatte ausgefallen - **Spiegel:** Wenn du auf zwei Festplatten installiert hast, startet die Box auch mit einer fehlenden Festplatte, weil der Bootloader auf beiden liegt und nach jedem Update abgeglichen wird. Die Administratoren bekommen pro Ausfall einmal die Benachrichtigung „Eine Systemplatte fehlt“. Die Oberfläche kann eine ausgefallene Systemfestplatte nicht ersetzen; der Weg zurück zu zwei Festplatten ist eine Neuinstallation. - **Einzelne Festplatte:** Das System ist verloren, aber deine Pools liegen auf anderen Festplatten und sind nicht betroffen. Installiere neu. Die Systemfestplatte enthält nur das System und die Einstellungen, daher ist ihr Neuaufbau mit einem Konfigurationsbackup einfach gedacht. Deine Dateien, die Daten der Apps und die Daten von Docker liegen auf den Pools, nicht auf der Systemfestplatte. ### Ein gescheitertes Update oder ein kaputtes System Bevor du neu installierst, versuch es über das Bootmenü: **Pithyx recovery** (Taste `r`) kehrt zu einem der letzten drei System-Snapshots zurück, installiert eine Update-Datei von einem USB-Stick oder setzt das Netzwerk auf DHCP zurück, und jeder behaltene Snapshot hat einen eigenen Eintrag. Ein gescheitertes Update kehrt von selbst zu seinem Snapshot zurück. Siehe [Systemupdates](https://pithyx.org/de/docs/install/updates/#das-recovery-men%C3%BC). ### Neu installieren 1. Wenn die Box noch funktioniert, erstelle zuerst ein Konfigurationsbackup: Einstellungen > **Backup und Wiederherstellung**, dann **Erstellen und herunterladen**. Wähle ein Passwort; ohne es lässt sich das Backup nicht wiederherstellen, und Pithyx kann es nicht zurückholen. Bewahre die Datei nicht auf der Box auf. Das Backup enthält Benutzer, Gruppen und Passwörter, Zwei-Faktor-Einstellungen, den Wiederherstellungsschlüssel, freigegebene Ordner, Einstellungen der Dateidienste, Zeitpläne, Systemeinstellungen, die Zertifikate und SSH-Host-Schlüssel und die Liste der installierten Apps. Es enthält nicht die Dateien auf deinen Pools. Die Datei endet auf `.pithyxbackup` und darf bis zu 16 MB groß sein. 2. Schreibe einen neuen Stick und starte den [Web-Installer](https://pithyx.org/de/docs/install/installer/). Wähle nur dieselben Systemfestplatten. Der Installer warnt vor Festplatten, auf denen Daten liegen. Wähle nicht die Festplatten deiner Pools. Festplatten, die du nicht wählst, bleiben unberührt. 3. Melde dich mit dem neuen Administratorkonto an und bewahre den neuen Wiederherstellungsschlüssel auf. 4. Importiere deine Pools (nächster Abschnitt). 5. Stelle das Backup wieder her: Einstellungen > **Backup und Wiederherstellung**, **Datei auswählen…**, gib das **Backup-Passwort** ein und klicke auf **Backup prüfen**. Wähle die Teile unter **Was wiederhergestellt wird**, klicke auf **Wiederherstellen…** und bestätige mit **Jetzt wiederherstellen**. Jeder Teil, den du wählst, ersetzt den aktuellen vollständig. Das Wiederherstellen der Benutzer meldet alle ab, und Pithyx startet neu. Ein Backup, das eine neuere Version von Pithyx erstellt hat, lässt sich nicht wiederherstellen. Pithyx behält eine Kopie der ersetzten Datenbank neben der neuen. Der Installer selbst stellt kein Backup wieder her und importiert keine Pools. Netzwerkeinstellungen, Hostname und Region gibst du im Installer erneut ein. ### Die Pools wieder importieren Ein frisches System kennt deine Pools nicht. Importiere sie in der Speicher-App: 1. Öffne **Speicher** und gehe zu den Pools. 2. Klicke auf **Pool importieren…**. 3. Klicke auf **Platten durchsuchen**. Die Suche liest die Labels jeder Platte und kann eine schlafende Platte aufwecken. Sie läuft nur, wenn du sie startest. 4. Beginne mit **Schreibgeschützt importieren**: Nichts wird eingehängt und nichts ändert sich. Prüfe die Datasets auf der Karte des Pools. 5. Klicke dann auf **Zur Nutzung importieren…**. Ein Pool, der zuletzt von einem anderen System benutzt und nicht exportiert wurde, ist mit „Von einem anderen System benutzt“ markiert. Nach einer Neuinstallation ist das normal: Das alte System hat den Pool nie exportiert, und das neue gilt als anderes System. Wähle **Trotzdem importieren (erzwingen)** und tippe den Pool-Namen ein. Tu das nie, solange ein anderes System den Pool noch benutzt: Zwei Systeme, die auf einen Pool schreiben, zerstören ihn. Ist der Name schon vergeben, wähle einen **Neuer Name für den Pool**. Ein Pool, der sich nicht importieren lässt, hat meist fehlende Platten: Schließe sie an und durchsuche erneut. Siehe [Speicher und Pools](https://pithyx.org/de/docs/admin/storage/). ## Architektur des Daemons > Der einzige privilegierte Prozess: seine Module, der Command Runner, Storage-Backends und Pfade. Source: https://pithyx.org/de/docs/developers/daemon/architecture/ Markdown: https://pithyx.org/de/docs/developers/daemon/architecture.md Der Daemon (`pithyxd`) ist der einzige privilegierte Prozess auf einer Pithyx-Box: eine C#-Binärdatei (.NET 10, ASP.NET Core) mit einer SQLite-Datenbank. Er liefert den Desktop und die API aus, führt jeden Systembefehl über einen einzigen Command Runner aus und verwaltet Speicher, Konten, Dateidienste, Apps und Docker. Der Desktop läuft nie mit erhöhten Rechten. ### Überblick Der Daemon ist ein modularer Monolith. Jedes Modul ist ein Ordner unter `daemon/src/Pithyx.Daemon`: Apps, Auth, Backup, Commands, Database, Errors, FileServices, Files, Health, Hosting, Installer, Jobs, Layouts, Localization, Logs, Monitoring, Network, Notifications, Permissions, Realtime, Shares, Storage, SystemSettings, Updates und Users. Die Solution ist `daemon/Pithyx.slnx`, die Tests liegen in `daemon/tests/Pithyx.Daemon.Tests`. - **Prozess.** `pithyx.service` startet `/usr/lib/pithyx/daemon/pithyxd`. Die Unit startet ihn bei einem Fehler nach 2 Sekunden neu, erlaubt 5 Starts in 120 Sekunden und startet bei den Exit-Codes 65 und 78 nicht neu. - **Ports.** Kestrel lauscht auf 7484. Im echten Modus spricht 7484 TLS (`Hosting/WebTransport`): Eine Verbindung, deren erstes Byte kein TLS-Handshake ist, geht an reines HTTP und wird auf `https://` umgeleitet. Auf einer echten Box (Produktions-Build) lauscht er zusätzlich auf 443 (TLS) und 80 (ein Entwicklungs-Build auf den Ports aus `PITHYX_DEV_PROXY_PORTS`). Dort läuft zuerst `ReverseProxy/HostProxy`: Es leitet die Domains der Proxy-Hosts mit YARPs `IHttpForwarder` weiter, leitet die der Weiterleitungs-Hosts um und überlässt jeden anderen Namen `TransportRedirect`, das auf 7484 umleitet, außer `/api/install-id` auf 80. Jeder TLS-Handshake bekommt sein Zertifikat nach Servernamen aus `ReverseProxy/ProxyService`. Simulation und das Live-System des Installers liefern reines HTTP. Die Zertifikate kommen aus `Tls/BoxCertificates`. - **Anfragen.** Jeder `/api`-Endpunkt verlangt eine Sitzung, sofern er nicht als anonym markiert ist. Die Richtlinien heißen `admin`, `power` und `appToken`. - **Statische Dateien.** Der Daemon liefert den Desktop aus `/usr/lib/pithyx/desktop` (oder `PITHYX_DESKTOP_DIR`) aus, mit einem Fallback auf die Single-Page-App. - **Modi.** Der echte Modus spricht mit dem System. Der Simulationsmodus (`PITHYX_SIMULATE=1`) antwortet aus Fixtures; siehe [Am Daemon entwickeln](https://pithyx.org/de/docs/developers/daemon/development/). - **Installer-Modus.** Mit `PITHYX_INSTALLER=1` oder der Kernel-Kommandozeilenoption `pithyx.installer` gibt es nur die Endpunkte des Installers und der Einrichtung. - **Exit-Codes.** 1 bedeutet, dass die Datenbank fehlgeschlagen ist, 65, dass die Datenbank von einem neueren Daemon geschrieben wurde, 75 bittet systemd um einen Neustart (nach einer Wiederherstellung der Konfiguration) und 78 bedeutet eine zweite Installation (siehe unten). Benutzer-IDs pro App kommen aus dem Bereich 40000 bis 49999, Benutzerkonten aus 20000 bis 29999 und Gruppen aus 30000 bis 39999. IDs werden nie wiederverwendet. Apps laufen als Container: Der Daemon spricht mit Docker über dessen Unix-Socket und startet ein Backend als Job mit `docker compose up --wait`. Siehe [Backends](https://pithyx.org/de/docs/developers/apps/backend/). Der Daemon hat keinen Watchdog (`sd_notify`-Heartbeats) und kein Modul für virtuelle Maschinen. ### Command Runner Jeder externe Befehl läuft über `ICommandRunner`. Code ruft `zfs`, `zpool` oder `smartctl` nie direkt auf. - `RunAsync(CommandRequest, ct)` liefert ein `CommandResult`. `StreamLinesAsync` ist für langlebige Befehle: Das Timeout der Anfrage gilt dort nicht, und ein Abbruch beendet den Prozess. - Ein `CommandRequest` hat den Dateinamen, eine Argumentliste (keine Shell), ein optionales Timeout, Indizes sensibler Argumente und optional die Standardeingabe. Die Standardeingabe wird einmal geschrieben, geschlossen und nie geloggt. - Das Standard-Timeout beträgt 1 Minute. Ein Timeout beendet den ganzen Prozessbaum. - Der Runner setzt `LC_ALL=C.UTF-8` und übergibt die aktuelle Trace-ID als `TRACEPARENT`, sodass sich ein Befehl seiner Anfrage zuordnen lässt. - Jeder Aufruf wird mit Befehl, Argumenten, Exit-Code, Dauer und der auf 4096 Zeichen gekürzten Ausgabe geloggt. Sensible Argumente erscheinen als `***`. - Im Simulationsmodus antwortet `FixtureCommandRunner` aus einem Szenario-Ordner mit den Dateien `.json`, `.stdout`, optional `.stderr` und `.stream`. Neue Fixtures nimmst du mit `tools/fixtures/record.sh -- [args...]` auf; das Skript anonymisiert Seriennummern und WWNs. Parser für Befehlsausgaben sind reine statische Funktionen mit Fixture-Tests, zum Beispiel `LsblkParser`, `ZfsDatasetParser` und `ZfsSnapshotParser`. ### Storage-Backend `IStorageBackend` hat zwei Member: `ReadAsync` liefert die Pool-Liste und `WatchAsync` liefert einen Wert pro Änderung. `ZfsBackend` ist die einzige Implementierung; es gibt kein Btrfs- oder mdadm-Backend. Darum herum liegen die Inventare für Festplatten und Pools, die Planer (`StoragePlanner`, `DatasetPlanner`, `PoolImportScanner`) und die Befehlspläne (`ZfsPlans`, `SnapshotPlans`, `ZfsScrubPlans`, `ImportPlans`), die dem Benutzer gezeigt werden, bevor sie laufen. `DiskGuard` lehnt zerstörerische Aktionen auf Festplatten mit Daten ab, solange der Benutzer nicht mit der Seriennummer der Festplatte bestätigt. Der Speicherzustand erreicht die Clients über die Topics `storage/disks`, `storage/pools` und `storage/alerts`. ### Datenbank und Migrationen Der Daemon nutzt SQLite über Dapper mit explizitem SQL, ohne ORM und ohne Repository-Schicht. Die Datenbank ist `/var/lib/pithyx/pithyx.db` oder der Pfad in `PITHYX_DB`. Sie läuft im WAL-Modus. Logs liegen in einer eigenen `logs.db`. - Migrationen sind eingebettete Dateien `daemon/src/Pithyx.Daemon/Database/Migrations/NNNN_name.sql` (heute 28). Jede läuft in einer eigenen Transaktion; ein Fehler beendet mit Code 1. Die Tabelle `schema_version` hält fest, was gelaufen ist. - Bevor eine nicht leere Datenbank migriert wird, schreibt der Daemon mit `VACUUM INTO` eine Kopie namens `pithyx.db.pre--