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
  1. 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
  2. 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.
    First
  1. Stop we need toand disable the syncthingroot serviceservice:
  2. which is run under root

systemctl stop syncthing@root
systemctl disable syncthing@root
systemctl list-unit-files | grep syncthing  # Verify it's disabled
  1. Create a dedicated system user:
adduser --system --group --home /var/lib/syncthing --shell /usr/sbin/nologin syncthing
  1. 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
  1. Create and secure your data directory (e.g., for your shares):
mkdir /data
chown -R syncthing:syncthing /data
chmod -R 750 /data

And

    check
  • Later, 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

  1. Enable
    and
    Westart copy it toas the new locationuser:
  2. 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