diff --git a/linux/arch/cachyos-with-snapshots.md b/linux/arch/cachyos-with-snapshots.md new file mode 100644 index 0000000..8b82b0f --- /dev/null +++ b/linux/arch/cachyos-with-snapshots.md @@ -0,0 +1,26 @@ +# Installation von CachyOS mit Snapshot-Unterstützung + +CachyOS bietet eine benutzerfreundliche Möglichkeit, Snapshots deines Systems zu erstellen und wiederherzustellen. Dies ist besonders nützlich, um dein System vor größeren Änderungen zu sichern oder um schnell zu einem funktionierenden Zustand zurückzukehren. + +Wann immer du dein System aktualisierst oder wichtige Software installierst, wird automatisch ein Snapshot erstellt, um im Falle von Problemen das System auf einen früheren Zustand zurückzusetzen. + +### Snapshot manuell erstellen + +```bash +$: sudo snapper -c root create --description "[Bescheibung]" +``` + +### Liste aller verfügbaren Snapshots + +```bash +$: sudo snapper list +``` + + + + + +Weitere Informationen zur Verwendung von CachyOS-Snapshots findest du in der offiziellen Dokumentation: [CachyOS Snapshots](https://docs.cachyos.org/snapshots/). + +![Auswahl eines Snapshots in Limine](/linux/arch/img/cachyos-limine.png) + diff --git a/linux/arch/img/cachyos-btrfs-assistant.png b/linux/arch/img/cachyos-btrfs-assistant.png new file mode 100644 index 0000000..684505a Binary files /dev/null and b/linux/arch/img/cachyos-btrfs-assistant.png differ diff --git a/linux/arch/img/cachyos-limine.png b/linux/arch/img/cachyos-limine.png new file mode 100644 index 0000000..eb4b4a1 Binary files /dev/null and b/linux/arch/img/cachyos-limine.png differ diff --git a/linux/spotify-downloader.md b/linux/spotify-downloader.md new file mode 100644 index 0000000..d0b266b --- /dev/null +++ b/linux/spotify-downloader.md @@ -0,0 +1,61 @@ +# Spotify-Downloader Installation Guide + +Diese Anleitung dient zur Installation und Einrichtung des Spotify-Downloaders auf einem Linux-System. Der Spotify-Downloader ermöglicht das Herunterladen von Musik für den persönlichen Gebrauch. + +Spotify-Downloader nutzt der Spotify-API hierbei nur für die Metadaten (Titel, Album, Künstler, etc.) und lädt die Musik über YouTube herunter. Daher ist es notwendig, dass `ffmpeg` installiert ist, um die heruntergeladenen Dateien in das gewünschte Format zu konvertieren. + +## 1. Paketübersicht +- `python3`: Die Programmiersprache Python, die für die Ausführung des Spotify-Downloaders erforderlich ist. +- `ffmpeg`: Ein Multimedia-Framework, das für die Verarbeitung von Audio- und Videodateien benötigt wird. +- `deno`: (optional) Ein modernes JavaScript/TypeScript-Laufzeitumgebung, die für bestimmte Funktionen des Spotify-Downloaders erforderlich ist. +- `pip`: Der Paketmanager für Python, der zur Installation von Python-Paketen verwendet wird. +- `pipx`: Ein Tool zum Installieren und Ausführen von Python-Anwendungen in isolierten Umgebungen. +- `spotdl`: Das Hauptpaket des Spotify-Downloaders, das die Funktionalität zum Herunterladen von Musik von Spotify bereitstellt. + +## 2. System-Pakete installieren +Zuerst werden die benötigten Basis-Pakete über `pacman` installiert. Da CachyOS einiges bereits vorinstalliert hat, dient dies zur Absicherung. + +```bash +sudo pacman -S python3 ffmpeg deno pip pipx +``` + +## 3. Pipx einrichten +Pipx ermöglicht die Installation von Python-Anwendungen in isolierten Umgebungen. Dies verhindert Konflikte zwischen verschiedenen Python-Paketen und erleichtert die Verwaltung von Anwendungen. + +Zunächst teilen wir pipx mit, welcher Pfad für die installierten Anwendungen genutzt werden soll: + +```bash +pipx ensurepath +``` + +## 4. Spotify-Downloader installieren +Nun installieren wir den Spotify-Downloader mit pipx: + +```bash +pipx install spotdl +``` + +## 5. Spotify-Downloader verwenden +Nach der Installation kann der Spotify-Downloader über das Terminal verwendet werden. Um Musik von Spotify herunterzuladen, verwenden wir den folgenden Befehl: + +```bash +spotdl +``` + +*Hierbei die `` durch die URL des gewünschten Spotify-Tracks, Albums oder Playlists ersetzen.* + +## 6. Spotify-Downloader aktualisieren +Um den Spotify-Downloader auf die neueste Version zu aktualisieren, wird der folgende Befehl verwendet: + +```bash +pipx upgrade spotdl +``` + +## 7. Troubleshooting +Falls Probleme bei der Installation oder Nutzung des Spotify-Downloaders auftreten, können die folgenden Schritte helfen: + +### Explizites Angeben der Bitrate + +```bash +spotdl --bitrate 192 +``` diff --git a/linux/zsh.md b/linux/zsh.md new file mode 100644 index 0000000..f2497a3 --- /dev/null +++ b/linux/zsh.md @@ -0,0 +1,104 @@ +# Zsh & KDE Plasma Setup Guide +Diese Anleitung dient zur schnellen Wiederherstellung eines personalisierten Terminal-Setups (Zsh, Powerlevel10k, Eza, Zsh-Autocomplete) auf einem frisch installierten Arch-basierten System. + +## 1. Paketübersicht +- `zsh`: Eine erweiterte, POSIX-kompatible Shell mit starker Autovervollständigung und Plugin-Support. +- `fzf`: Ein extrem schneller, interaktiver Befehlszeilen-Finder für die Historie und Dateien. +- `eza`: Ein moderner, farbenfroher Ersatz für ls, der Datei-Icons und Git-Integration bietet. +- `git`: Das Standard-Versionsverwaltungstool für Softwareprojekte. +- `zsh-autocomplete`: Ein Plugin, das ein interaktives IDE-ähnliches IntelliSense-Menü während des Tippens bereitstellt. +- `powerlevel10k`: Ein hochgradig anpassbares und extrem performantes Theme für den Terminal-Prompt. + + +## 2. System-Pakete installieren +Zuerst werden die benötigten Basis-Pakete über `pacman` installiert. Da CachyOS einiges bereits vorinstalliert hat, dient dies zur Absicherung. + +```bash +sudo pacman -S zsh fzf eza git +``` + +## 3. Standard-Shell auf Zsh wechseln +Damit das Terminal (Konsole) standardmäßig mit der Zsh startet, muss die Login-Shell geändert werden: + +```bash +chsh -s /bin/zsh +``` + +*Hinweis: Danach einmal aus der KDE Plasma Sitzung abmelden und neu anmelden, damit die Änderung aktiv wird.* + +## 4. Zsh-Autocomplete (IntelliSense) installieren +Wir installieren `zsh-autocomplete` für das automatische IDE-ähnliche Vervollständigungsmenü während des Tippens: + +```bash +# Ordner für eigene Plugins erstellen und Repository klonen +mkdir -p ~/.zsh +git clone --depth 1 https://github.com/marlonrichert/zsh-autocomplete.git ~/.zsh/zsh-autocomplete +``` + +## 5. Powerlevel10k Prompt einrichten +Da die `.p10k.zsh` sehr umfangreich ist, wird das Prompt-Design (Icons, Style, Uhrzeit) am besten frisch über den interaktiven Wizard generiert: + +```bash +p10k configure +``` + +## 6. Die Konfigurationsdatei (`~/.zshrc`) +Erstelle oder ersetze `~/.zshrc` mit folgendem Inhalt. Diese Version enthält spezifische Umgebungspfade (Cargo, LM Studio) und korrigierte eza-Aliase: + +```bash +# --- Powerlevel10k Initialization --- +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh + +# --- CachyOS Base Config (falls vorhanden) --- +if [ -f /usr/share/cachyos-zsh-config/zshrc ]; then + source /usr/share/cachyos-zsh-config/zshrc +fi + +# --- CachyOS Base Config --- +source /usr/share/cachyos-zsh-config/cachyos-config.zsh + +# --- Umgebungsvariablen & Pfade --- +. "$HOME/.cargo/env" +export PATH="$PATH:/home/ghost/.lmstudio/bin" + +# --- Powerlevel10k Theme laden --- +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh + +# --- Plugins laden --- +source ~/.zsh/zsh-autocomplete/zsh-autocomplete.plugin.zsh + +# Kollidierende CachyOS-Autosuggestions explizit deaktivieren +unset ZSH_AUTOSUGGEST_STRATEGY + +# --- Key-Bindings für KDE Konsole (Pos1 / Ende) --- +bindkey '^[[H' beginning-of-line +bindkey '^[[F' end-of-line + +# --- Moderne Aliase (eza statt ls) --- +alias ls='eza --icons=always --group-directories-first' +alias ll='eza -lah --icons=always --group-directories-first --git' +alias lt='eza --tree --level=2 --icons=always' + +# --- Eigene Komfort-Aliase --- +alias update='sudo pacman -Syu' +alias g='git' +``` + +## 7. KDE Konsole & "Rice" Profileinstellungen +Um die Optik perfekt auf den Plasma Desktop abzustimmen, wird ein eigenes Konsole-Profil genutzt: +1. Neues Profil erstellen: Öffne `Konsole -> Einstellungen -> Profile verwalten... -> Neues Profil...` (als Standard setzen). +2. Schriftart: Unter Erscheinungsbild sicherstellen, dass die Schriftart auf `Hack 10pt` steht (unterstützt standardmäßig alle benötigten Nerd Font Symbole). +3. Farbschema & Transparenz: + - Im Reiter Erscheinungsbild das Farbschema `Catppuccin Mocha` (oder Macchiato) herunterladen und auswählen. + - Auf Bearbeiten... des Farbschemas klicken und die Hintergrundfarbe auf eine Transparenz von 10% einstellen. + +## 7. Setup anwenden +Nachdem alle Schritte abgeschlossen sind, kann die Konfiguration im Terminal direkt live angewendet werden: + +```bash +exec zsh +``` diff --git a/proxmox/immich-podman-install.md b/proxmox/immich-podman-install.md new file mode 100644 index 0000000..8fbbcd8 --- /dev/null +++ b/proxmox/immich-podman-install.md @@ -0,0 +1,181 @@ +# Dokumentation: Immich Setup auf CachyOS (LXC) mit Podman Quadlets + +**Status:** Initiales Setup abgeschlossen, Web-Interface erreichbar. +**Datum:** 24. Mai 2026 +**Besonderheit:** Nutzung der Intel Arc A310 für Hardware-Transcoding und KI (OpenVINO), sowie VectorChord als High-Performance Vektorsuche. + +--- + +## 1. Verzeichnisstruktur & Berechtigungen + +Die Daten liegen persistent auf einem gemounteten ZFS-Pool (oder Host-Mount) unter `/mnt/immich-data`. + +```bash +# Verzeichnisse anlegen +mkdir -p /mnt/immich-data/{upload,database,redis,cache} + +# Rechte setzen (LXC-Root entspricht Host-User je nach ID-Mapping) +chown -R root:root /mnt/immich-data +chmod -R 755 /mnt/immich-data + +``` + +--- + +## 2. Netzwerk-Konfiguration + +Ein dediziertes Podman-Netzwerk für die interne Kommunikation der Container. + +**Datei:** `/etc/containers/systemd/immich-net.network` + +```ini +[Network] +NetworkName=immich-net + +``` + +--- + +## 3. Datenbank (PostgreSQL + VectorChord) + +Einsatz des modernsten Vektor-Index-Algorithmus für die Bildsuche. + +**Datei:** `/etc/containers/systemd/immich-db.container` + +```ini +[Container] +ContainerName=immich-db +Image=docker.io/tensorchord/vchord-postgres:pg16-v1.1.1 +Environment=POSTGRES_USER=postgres +Environment=POSTGRES_PASSWORD=[Dein_Passwort] +Environment=POSTGRES_DB=immich +Volume=/mnt/immich-data/database:/var/lib/postgresql/data:Z +Network=immich-net + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target + +``` + +--- + +## 4. Redis (Cache) + +**Datei:** `/etc/containers/systemd/immich-redis.container` + +```ini +[Container] +ContainerName=immich-redis +Image=docker.io/library/redis:7-alpine +Volume=/mnt/immich-data/redis:/data:Z +Network=immich-net + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target + +``` + +--- + +## 5. Machine Learning (OpenVINO + Intel GPU) + +Optimiert für die Intel Arc A310 GPU zur Gesichtserkennung und Objekterkennung. + +**Datei:** `/etc/containers/systemd/immich-ml.container` + +```ini +[Container] +ContainerName=immich-ml +Image=ghcr.io/immich-app/immich-machine-learning:release-openvino +Volume=/mnt/immich-data/cache:/cache:Z +Network=immich-net + +# GPU-Passthrough +AddDevice=/dev/dri/card0:/dev/dri/card0 +AddDevice=/dev/dri/renderD128:/dev/dri/renderD128 + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target + +``` + +--- + +## 6. Immich Server (Hauptapplikation) + +Hardware-Transcoding aktiviert; OIDC aktuell noch deaktiviert für Ersteinrichtung. + +**Datei:** `/etc/containers/systemd/immich-server.container` + +```ini +[Container] +ContainerName=immich-server +Image=ghcr.io/immich-app/immich-server:release +Volume=/mnt/immich-data/upload:/usr/src/app/upload:Z +Network=immich-net +PublishPort=2283:2283 + +# GPU-Passthrough für Video-Transcoding +AddDevice=/dev/dri/card0:/dev/dri/card0 +AddDevice=/dev/dri/renderD128:/dev/dri/renderD128 + +# Umgebungsvariablen +Environment=DB_HOSTNAME=immich-db +Environment=DB_USERNAME=postgres +Environment=DB_PASSWORD=[Dein_Passwort] +Environment=DB_DATABASE_NAME=immich +Environment=REDIS_HOSTNAME=immich-redis +Environment=IMMICH_MACHINE_LEARNING_URL=http://immich-ml:3003 + +# OIDC Vorbereitung (aktuell deaktiviert) +Environment=IMMICH_OIDC_ENABLED=false + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target + +``` + +--- + +## 7. Management & Monitoring + +Portainer Agent zur Überwachung der Container-Struktur. + +**Datei:** `/etc/containers/systemd/portainer-agent.container` + +```ini +[Container] +ContainerName=portainer_agent +Image=docker.io/portainer/agent:latest +PublishPort=9001:9001 +Volume=/run/podman/podman.sock:/var/run/docker.sock +Volume=/var/lib/containers/storage/volumes:/var/lib/docker/volumes + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target + +``` + +--- + +## 8. Befehle zur Verwaltung + +* **Neu einlesen:** `systemctl daemon-reload` +* **Starten:** `systemctl start immich-server portainer-agent` +* **Status prüfen:** `podman ps` +* **Logs einsehen:** `podman logs -f immich-server` diff --git a/proxmox/jellyfin-podman-install.md b/proxmox/jellyfin-podman-install.md new file mode 100644 index 0000000..c75c8e5 --- /dev/null +++ b/proxmox/jellyfin-podman-install.md @@ -0,0 +1,115 @@ +Ja, absolut! Da wir jetzt wissen, dass dein System auf **Podman 5.4.2** läuft und wir den Rechte-Check erfolgreich über **ACLs** (statt komplexer ID-Mappings) gelöst haben, sollten wir die Anleitung präzisieren. + +Besonders der Wechsel von `Device` zu `AddDevice` und die Integration des Plugin-Ordners sind entscheidend für die Langzeitstabilität. + +Hier ist die aktualisierte und finalisierte **`Jellyfin_Podman_Install.md`**: + +--- + +# Jellyfin Installation mit Podman Quadlets & Intel Arc (A310) + +Diese Dokumentation beschreibt das finale, validierte Setup für Jellyfin in einem unprivilegierten Proxmox LXC (ID 305) mit Intel Arc Hardware-Beschleunigung. + +## 1. Host-Konfiguration (Proxmox PVE) + +### GPU-Zugriff via ACL (Access Control Lists) + +Da der LXC unprivilegiert ist, vergeben wir die Rechte direkt auf dem Host an die UID `100000` (der Root-User im Container). + +```bash +# Auf dem Proxmox-Host ausführen: +apt-get update && apt-get install -y acl +setfacl -m u:100000:rw /dev/dri/card0 +setfacl -m u:100000:rw /dev/dri/renderD128 + +``` + +*Hinweis: Diese Einstellungen gehen nach einem Host-Reboot verloren, sofern sie nicht über eine udev-Regel oder ein Startskript persistent gemacht werden.* + +### LXC-Konfigurationsdatei (`/etc/pve/lxc/305.conf`) + +Stelle sicher, dass diese Zeilen enthalten sind (keine manuellen `idmaps` nötig!): + +```text +lxc.cgroup2.devices.allow: c 226:0 rwm +lxc.cgroup2.devices.allow: c 226:128 rwm +lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file +lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file +lxc.hook.pre-start: sh -c "chown 0:104 /dev/dri/renderD128" + +``` + +--- + +## 2. Container-Setup (LXC) + +### Verzeichnisstruktur + +```bash +mkdir -p /opt/jellyfin/config /opt/jellyfin/cache /opt/jellyfin/plugins + +``` + +### Das Quadlet-File (`/etc/containers/systemd/jellyfin.container`) + +Wichtig für Podman 5.x: Verwende `AddDevice` statt `Device`. + +```ini +[Unit] +Description=Jellyfin Media Server (Intel Arc A310) +After=network-online.target + +[Container] +Image=docker.io/jellyfin/jellyfin:latest +ContainerName=jellyfin-app +Environment=TZ=Europe/Berlin + +# Hardware Acceleration via oneVPL/QSV +AddDevice=/dev/dri/card0:/dev/dri/card0 +AddDevice=/dev/dri/renderD128:/dev/dri/renderD128 + +# Mounts +Volume=/opt/jellyfin/config:/config:Z +Volume=/opt/jellyfin/cache:/cache:Z +Volume=/opt/jellyfin/plugins:/plugins:Z +Volume=/media/daten1:/media/daten1:ro,Z +Volume=/media/daten2:/media/daten2:ro,Z +Volume=/media/daten3:/media/daten3:ro,Z +Volume=/media/datenhdd3:/media/datenhdd3:ro,Z + +PublishPort=8096:8096 + +[Service] +Restart=always + +``` + +### Deployment + +```bash +systemctl daemon-reload +systemctl enable --now jellyfin + +``` + +--- + +## 3. Hardware-Beschleunigung aktivieren + +In der Jellyfin Web-UI (`10.0.0.111:8096`) unter **Dashboard -> Playback**: + +1. **Hardware-Beschleunigung:** `Intel QuickSync (QSV)` +2. **Hardware-Kodierung:** Aktivieren (inkl. AV1!) +3. **Intel Low-Power-H.264-Hardware-Encoder:** Aktivieren +4. **Intel Low-Power-HEVC-Hardware-Encoder:** Aktivieren +5. **VPP Tone Mapping:** Aktivieren (für HDR-Inhalte) + +--- + +## 4. Sicherheit: MFA / AAL2 + +Da native Jellyfin-Apps kein standardmäßiges TOTP unterstützen, nutzen wir das Plugin **JellyfinSecurity**. + +1. **Repository-URL:** `https://raw.githubusercontent.com/ZL154/JellyfinSecurity/master/manifest.json` +2. **Installation:** Plugin installieren & Container neu starten (`systemctl restart jellyfin`). +3. **Konfiguration:** TOTP unter Plugin-Einstellungen für gewünschte User aktivieren. diff --git a/proxmox/nextcloud-install.md b/proxmox/nextcloud-install.md new file mode 100644 index 0000000..b0f0ee2 --- /dev/null +++ b/proxmox/nextcloud-install.md @@ -0,0 +1,92 @@ +Hier ist die zusammengefasste Dokumentation für dein Setup. Diese Datei kannst du dir als Backup oder Spickzettel abspeichern. + +--- + +# Nextcloud OIDC Installation & Keycloak Setup + +Diese Anleitung dokumentiert die erfolgreiche Konfiguration von Nextcloud (im Podman-Container) mit Keycloak als Identitätsanbieter (SSO) auf einem N100-System unter Proxmox. + +## 1. Keycloak Konfiguration + +In der Keycloak-Admin-Konsole wurde ein Client für Nextcloud erstellt. + +* **Client-ID:** `nextcloud` +* **Root-URL:** `[https://nextcloud.ghostnet.selfhost.eu](https://nextcloud.ghostnet.selfhost.eu)` +* **Valid Redirect URIs:** +* `[https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/code](https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/code)` +* `[https://nextcloud.ghostnet.selfhost.eu/index.php/apps/user_oidc/code](https://nextcloud.ghostnet.selfhost.eu/index.php/apps/user_oidc/code)` + + +* **Backchannel Logout URL:** `[https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/backchannel-logout/](https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/backchannel-logout/)` + +--- + +## 2. Nextcloud OIDC App Einstellungen + +Innerhalb von Nextcloud wurde die App **"OpenID Connect" (`user_oidc`)** installiert und wie folgt konfiguriert: + +* **Identifier:** `Keycloak` +* **Discovery Endpoint:** `[https://auth.ghostnet.selfhost.eu/realms/Ghost.net/.well-known/openid-configuration](https://auth.ghostnet.selfhost.eu/realms/Ghost.net/.well-known/openid-configuration)` +* **User-ID Mapping:** `preferred_username` +* **Display Name Mapping:** `name` +* **Email Mapping:** `email` + +--- + +## 3. Erzwingen des Keycloak-Logins (CLI) + +Um das Standard-Login-Formular zu deaktivieren und eine automatische Weiterleitung zu Keycloak zu erzwingen, wurden folgende Befehle im Nextcloud-LXC ausgeführt: + +```bash +# 1. Den automatischen Redirect aktivieren +podman exec -u www-data nextcloud-app php occ config:app:set user_oidc auto_redirect --value="1" + +# 2. Den Standard-Login ausblenden +podman exec -u www-data nextcloud-app php occ config:app:set user_oidc hide_default_login --value="1" + +# 3. Den primären OIDC-Provider festlegen +podman exec -u www-data nextcloud-app php occ config:app:set user_oidc setup_provider --value="Keycloak" + +# 4. Mehrere Backends deaktivieren (Zwingt zum Redirect) +podman exec -u www-data nextcloud-app php occ config:app:set user_oidc allow_multiple_user_backends --value="0" + +# 5. Container neu starten, um Cache zu leeren +podman restart nextcloud-app + +``` + +--- + +## 4. Sicherheits-Einstellungen (config.php) + +Um sicherzustellen, dass Nextcloud den Login-Prozess nicht unterbricht, wurde folgender Parameter in der `config/config.php` gesetzt: + +```php +'allow_user_to_login_with_apps' => false, + +``` + +*(Diesen Wert haben wir via OCC-Befehl gesetzt: `podman exec -u www-data nextcloud-app php occ config:system:set allow_user_to_login_with_apps --value=false --type=bool`)* + +--- + +## 5. Notfall-Login (Bypass) + +Sollte Keycloak nicht erreichbar sein oder die OIDC-Konfiguration Probleme bereiten, kann der Standard-Login (lokaler Admin) jederzeit über folgende URL erzwungen werden: + +**URL:** `[https://nextcloud.ghostnet.selfhost.eu/login?direct=1](https://nextcloud.ghostnet.selfhost.eu/login?direct=1)` + +--- + +## 6. Wartung & Fehlerbehebung + +Falls Änderungen an den Providern vorgenommen werden müssen, kann die aktuelle Konfiguration wie folgt ausgelesen werden: + +* **Provider-Liste anzeigen:** +`podman exec -u www-data nextcloud-app php occ user_oidc:providers` +* **App-Konfiguration prüfen:** +`podman exec -u www-data nextcloud-app php occ config:app:get user_oidc` + +--- + +**Status:** ✅ Läuft produktiv auf Proxmox/Podman. \ No newline at end of file