Skip to main content

Syncthing + FileBrowser Quantum

SettingThe upeasiest Synchingand inmost Proxmoxreliable way is really easy. You can do it by yourself, or justto use the pre-madeProxmox VE Community Helper-Script, forwhich it.

automates

Ieverything used(including installing Syncthing from the scriptDebian whichrepo). createdIt creates an LXC with maximumreasonable defaults (~2GB RAM max, 2 GBcores—fine RAM,for large transfers, low usage normally).

Option 1: Recommended – Use the Community Script (Quick & Easy)

Run this single command in the Proxmox shell (node console):

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/syncthing.sh)"
    It sets up a privileged LXC by default (simpler permissions for mounted storage). Syncthing installs and gaveruns initially as root (common with scripts), but we'll switch it 2 cores. Mainly for larger file transfers, but it should use way less that that maximum under normal circumstances. Just to bea dedicated user below. After creation, access the Syncthing web UI at http://<LXC-IP>:8384 (set GUI auth on thefirst safeaccess). side.

    Option 2: Manual Setup

    If you wantprefer tofull setcontrol:

    it
    up on

    In yourProxmox own,UI: createCreate a new unprivileged LXC with(Debian/Bookworm template recommended).

      CPU: 2 cores RAM: 2048 MB (or adjust) Storage: 8-20 GB root disk Network: Static IP or DHCP

      Start the settings below.image.png

      After the LXC is created,LXC, open a consoleconsole, and install Syncthing via the Debian Package Repository.Syncthing:

      apt update && apt upgrade -y
      apt install syncthing -y
      

      CreatingPost-Setup: Run Syncthing as a userDedicated andNon-Root movingUser the(Security configurationBest filesPractice)

      The Communityscript Script(or doesmanual notinstall) createoften starts Syncthing as root initially. Switch it to a separateproper user forto syncthing,avoid aswarnings such,and wereduce will do it now.risk.

      1.

      FirstStop we need toand disable the syncthingroot serviceservice: which is run under root
      systemctl stop syncthing@root
      systemctl disable syncthing@root
      systemctl list-unit-files | grep syncthing  # Verify it's disabled
      
        Create a dedicated system user:
        adduser --system --group --home /var/lib/syncthing --shell /usr/sbin/nologin syncthing
        
          Migrate existing config (if any from root run):
          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
          
            Create and secure your data directory (e.g., for your shares):
            mkdir /data
            chown -R syncthing:syncthing /data
            chmod -R 750 /data
            

            And

            checkLater, ifmount thisyour isProxmox notstorage runninghere anymore(e.g.,
            systemctl list-unit-files | grep syncthing

            2. Create Syncthing System user

            adduser \
              --system \
              --group \
              --home /var/lib/syncthing \
              --shell /usr/sbin/nologin \
              syncthing

            3. Copy current config

            The current config is here:bind-mount /root/data/usera, /data/userb, /data/shared from host via Proxmox UI > LXC > Resources > Add MP).config/syncthing

            Enable
            and
            Westart copy it toas the new locationuser: and change rights:
            mkdir -p /var/lib/syncthing/.config 
            cp -a /root/.config/syncthing /var/lib/syncthing/.config/
            chown -R syncthing:syncthing /var/lib/syncthing

            4. Create and assign data folder

            mkdir /data
            chown -R syncthing:syncthing /data
            chmod -R 750 /data

            5. Start Syncthing as syncthing-User 

            systemctl enable syncthing@syncthing
            systemctl start syncthing@syncthing

            Check status

            systemctl status syncthing@syncthing  # Check it's running
            

            Integrating with Your FileBrowser Shares

              In Proxmox: Add bind mounts for your host directories to the LXC (e.g., mount host /path/to/data/usera → LXC /data/usera). In Syncthing UI: Add folders pointing to /data/usera, /data/userb, /data/shared.
                Set "Send Only" for private user folders if laptops should receive but not push changes back. Full bi-directional for /data/shared.

                Hub-First Setup Reminder

                  Configure folders and generate device IDs on the Proxmox hub first. Then install Syncthing on your laptop(s), add the hub's device ID, and connect (hub as introducer for easy hub-and-spoke).

                  This pairs perfectly with your FileBrowser Quantum on the hub for web access/management. If you run into permission issues with mounts (common in unprivileged LXCs), switch to privileged or adjust UID/GID mapping.

                  Let me know if you need steps for mounting storage or connecting devices!


                   image.png