Syncthing firmware 4.8.3

Hi,

I got myself a Puli AX (GL-XE3000) and installed the latest firmware 4.8.3 for tailscale and syncthing. I have tailscale running and installed latest syncthing 1.18.2-1 through the plugin installer. Trying the web gui through 192.168.8.1:8384, but it cant be reached. Turned off adguard and tailscale, but to no avail. Do i need to do something through ssh?

As i understand in 4.8.3 syncthing should be working?

Hi

After installing syncthing, its default configuration is disabled and it only listens on the loopback address.

Therefore, you will need to SSH into the router and run some commands to modify some configuration:

# Install syncthing
opkg update && opkg install syncthing

# Modify the configuration
## Enable the service
uci set syncthing.syncthing.enabled='1'
## Change the listening address (adjust according to your LAN IP)
uci set syncthing.syncthing.gui_address='http://192.168.8.1:8384'
## Save the configuration
uci commit syncthing

# Start the service
/etc/init.d/syncthing start

After that, you should be able to access the Syncthing web interface at http://192.168.8.1:8384.

Thank you so much! I have been searching all over the net. I was about to quit. I followed your commands and after a reboot it worked!

Solved. Have a great day

1 Like

Sorry, one more question. How can i add a folder on a usb stick. What’s the folder path?

You can check the USB drive’s mount path using df -h.
By default, it should be mounted at /tmp/mountd/disk1_part1.

If you are asking how to use Syncthing with a USB drive, you may need to refer to their documentation or ask in their community forums, as we are not very familiar with the specific workflow of this software.

Syncthing documentation: https://docs.syncthing.net/
Syncthing forum: https://forum.syncthing.net/

Thank you. Indeed i saw the mount point in LuCl. Now i get the permission denied. I found below to resolve it, but as i understand it permits all users all r/w permission. I would like to avoid that. Is there a more specific way to allow only syncthing (and Tailscale) to r/w to usb?

GL.iNet Syncthing Permission Denied Issue
The "permission denied" error on GL.iNet routers (e.g., GL-AXT 1800) when using Syncthing with external storage (SD card or USB SSD) typically stems from filesystem mount permissions and Syncthing’s running user.

  • Syncthing runs as the syncthing user (not root), and the mounted storage (e.g., /tmp/mountd/disk1_part1) must be accessible to this user.

  • The /tmp/mountd/ directory is managed by OpenWrt’s block-mount system, which often applies restrictive permissions (e.g., ro or root ownership), preventing Syncthing from writing.

Key Fixes:

  • Ensure the mount is read/write: Verify via df and cat /proc/mounts that the device is mounted with rw (not ro). If it shows errors=remount-ro, this indicates a filesystem error causing automatic read-only remount.

  • Modify mount options via UCI: To allow Syncthing access, set umask=000 for the mount point:

    uci set fstab.@mount[-1].options='rw,umask=000'
    uci commit fstab
    block umount
    block mount
    

    This grants all users (including syncthing) read/write access.

  • Avoid changing ownership of /tmp/mountd: The system prevents chown or chmod on /tmp/mountd due to it being a tmpfs or bind mount. Instead, adjust mount options as above.

  • Use /mnt instead of /tmp/mountd: Manually mount drives under /mnt via LuCI (System → Mount Points) with rw and umask=000 for better control and avoid block-mount quirks.

:warning: Warning: Setting umask=000 grants full access to all users. Use only on trusted local networks. Avoid if sharing via Samba with untrusted devices.

Additional Checks:

  • Confirm Syncthing is running as syncthing (not root) in /etc/config/syncthing.

  • If switching to root, the system may auto-remount storage as ro due to filesystem errors — this breaks Samba and Syncthing.

  • Check logs: journalctl | grep syncthing or logread | grep syncthing for detailed errors.

:white_check_mark: Best Practice: Use /mnt with manual mount points and umask=000 to avoid /tmp/mountd limitations and ensure Syncthing has consistent access.

Since Tailscale is a networking tool, it normally doesn’t handle file operations. Therefore, I assume you want to use Tailscale to access Syncthing, and let Syncthing handle the file operations.

In this case, you do not need to grant Tailscale access permissions to the USB drive.

We recommend the following options:

  1. If you are not familiar with Linux user permissions, we recommend configuring Syncthing to run as the root user. This way, you won’t need to deal with permission issues when files on the USB drive are added, removed, or modified by other methods. You can do this with the following commands:
uci set syncthing.syncthing.user='root'
uci commit syncthing
/etc/init.d/syncthing restart
  1. Alternatively, you can change the owner and group of the USB drive directory to syncthing:
chown -R syncthing:syncthing /tmp/mountd/disk1_part1/

(Note that you may need to handle file permissions when files are created, deleted, moved, or modified between the USB drive and other folders/devices.)

Hi Will,

Thank you very much for your quick replies and to the point answers. It’s working, even with syncthing fork v2.0 on android . Hope it will be updated soon on gl.inet router. I saw on openwrt its already updated, but couldnt install it as they are already on openwrt v25 (apk).

Any insights when gl.inet is upgrading to openwrt v25?

The stock firmware is built on MTK SDK, so we need to wait for MediaTek to update the OpenWrt version and provide it to us before we can proceed.

The XE3000 is already supported by the vanilla OpenWrt project. Therefore, if you do not require the GL.iNet interface and proprietary tools, you can consider switching to it.

Vanilla OpenWRT Download Link: OpenWrt Firmware Selector

1 Like