Skip to main content

Syncthing + FileBrowser Quantum

Der einfachste und zuverlässigste Weg ist die Nutzung des Proxmox VE Community Helper-Scripts, das alles automatisiert (inkl. Installation von Syncthing aus dem Debian-Repository). Es erstellt einen LXC mit vernünftigen Defaults (~2 GB RAM max, 2 Kerne – ausreichend für große Transfers, normalerweise niedriger Verbrauch).

Option 1: Empfohlen – Community-Script nutzen (schnell & einfach)

Führe diesen einen Befehl in der Proxmox-Shell (Node-Konsole) aus:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/syncthing.sh)"
  • Es erstellt standardmäßig einen privileged LXC (einfachere Berechtigungen für gemountete Speicher).
  • Syncthing wird zunächst als root installiert und gestartet (üblich bei solchen Scripts), aber wir wechseln es unten zu einem dedizierten Benutzer.
  • Nach der Erstellung erreichst du die Syncthing-Web-UI unter http://<LXC-IP>:8384 (beim ersten Zugriff GUI-Authentifizierung einrichten).

Option 2: Manuelles Setup

lxc-setup-syncthing

Falls du volle Kontrolle möchtest:

  1. In der Proxmox-UI: Neuen unprivileged LXC erstellen (Debian/Bookworm-Template empfohlen).
    • CPU: 2 Kerne
    • RAM: 2048 MB (oder anpassen)
    • Storage: 8–20 GB Root-Disk
    • Network: Statische IP oder DHCP
  2. LXC starten, Konsole öffnen und Syncthing installieren:
apt update && apt upgrade -y
apt install syncthing -y

Nach der Einrichtung: Syncthing als dedizierten Non-Root-Benutzer betreiben (Security Best Practice)

Das Community-Script (oder die manuelle Installation) startet Syncthing oft zunächst als root. Wechsle zu einem richtigen Benutzer, um Warnungen zu vermeiden und das Risiko zu senken.

  1. Root-Service stoppen und deaktivieren:
systemctl stop syncthing@root
systemctl disable syncthing@root
systemctl list-unit-files | grep syncthing # Überprüfen, dass deaktiviert
  1. Dedizierten System-Benutzer erstellen:
adduser --system --group --home /var/lib/syncthing --shell /usr/sbin/nologin syncthing
  1. Vorhandene Konfiguration migrieren (falls von root-Run vorhanden):
mkdir -p /var/lib/syncthing/.config
cp -a /root/.config/syncthing/* /var/lib/syncthing/.config/ 2>/dev/null || true
chown -R syncthing:syncthing /var/lib/syncthing
  1. Dein Daten-Verzeichnis erstellen und sichern (z. B. für deine Shares):
mkdir /data
chown -R syncthing:syncthing /data
chmod -R 750 /data
  • Später mountest du hier deinen Proxmox-Speicher (z. B. Bind-Mount von /data/usera, /data/userb, /data/shared vom Host via Proxmox-UI > LXC > Resources > Add MP).
  1. Als neuer Benutzer aktivieren und starten:
systemctl enable syncthing@syncthing
systemctl start syncthing@syncthing
systemctl status syncthing@syncthing # Prüfen, ob läuft

Integration mit deinen FileBrowser-Shares

mountpoints

  • In Proxmox: Bind-Mounts für deine Host-Verzeichnisse zum LXC hinzufügen (z. B. Host /path/to/data/usera → LXC /data/usera). Siehe Bild oben.
  • In der Syncthing-UI: Ordner hinzufügen, die auf /data/usera, /data/userb, /data/shared zeigen.
    • Für private User-Ordner „Send Only“ setzen, falls Laptops nur empfangen, aber keine Änderungen zurückpushen sollen.
    • Für /data/shared volle bidirektionale Synchronisation.

Konfigurationsdatei für FileBrowser Quantum

Die einzige Möglichkeit, dass FileBrowser Quantum die korrekten genutzten und verbleibenden Größen eines Mount-Points anzeigt, ist, jeden Mount-Point als separate Source in der Config-Datei zu mappen. So sieht meine aktuelle Konfiguration aus – sie mappt jeden Mount-Point als Source, und die Benutzer bekommen nur Zugriff auf ihren eigenen User-Source und den Shared-Source. Dadurch bleiben die Dinge getrennt, aber es gibt einen zentralen Share für alle System-Benutzer.

# FileBrowserQuantum Config File /syncthing-data/fbq-config.yaml
server:
  port: 8080
  externalUrl: "https://files.example.com"
  database: /syncthing-data/database.db
  sources:
  - path: /syncthing-data/home/usera
    name: Home UserA
    config:
      defaultEnabled: false
  - path: /syncthing-data/home/userb
    name: Home UserB
    config:
      defaultEnabled: false
  - path: /syncthing-data/shared
    name: Shared Drive
    config:
      defaultEnabled: true
  logging:
  - levels: info|warning|error
    apiLevels: info|warning|error
    output: stdout
    noColors: false
    utc: false
frontend:
  name: FileBrowser Quantum
auth:
  adminUsername: admin
userDefaults:
  permissions:
    api: false
    admin: false
    modify: false
    share: false
    realtime: false
    delete: false
    create: false
    download: false

Durch diese Einrichtung kannst du die Sources in FileBrowser Quantum den Benutzern zuweisen

image.png

Sie erscheinen dann auf dem Home-Screen links mit den korrekten Nutzungs-Werten.

image.png

Hub-First Setup Erinnerung

  • Ordner konfigurieren und Device-IDs zuerst auf dem Proxmox-Hub generieren.
  • Dann Syncthing auf deinen Laptop(s) installieren, die Hub-Device-ID hinzufügen und verbinden (Hub als Introducer für einfaches Hub-and-Spoke-Setup).