<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Syncthing on KnightLi Blog</title>
        <link>https://knightli.com/en/tags/syncthing/</link>
        <description>Recent content in Syncthing on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 31 May 2026 12:23:55 +0800</lastBuildDate><atom:link href="https://knightli.com/en/tags/syncthing/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>How to Manage Multiple Devices and Folders in Syncthing: Topology, Naming, and Versioning</title>
        <link>https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/</link>
        <pubDate>Sun, 31 May 2026 12:23:55 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/</guid>
        <description>&lt;h2 id=&#34;syncthing-series&#34;&gt;Syncthing Series
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/&#34; &gt;How to Use Syncthing: Practical Notes from Device Pairing to File Sync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/&#34; &gt;Deploying Syncthing with Docker: Compose, Ports, and Volume Mapping Pitfalls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/&#34; &gt;How to Configure Multiple Devices in Syncthing: Peer Networks, Star Topology, and Introducers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/&#34; &gt;How to Use Syncthing on Android: Syncthing-Fork Setup and Photo Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/&#34; &gt;How to Manage Multiple Devices and Folders in Syncthing: Topology, Naming, and Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/&#34; &gt;How to Sync iPhone Photos to a Computer or NAS with Syncthing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once Syncthing has many devices and many folders, it can quickly become messy if you do not plan ahead.
The typical setup is a phone, tablet, laptop, desktop, and NAS all syncing at once, while folders contain photos, work documents, code projects, chat backups, and ebooks. Every device may modify files, every folder may be shared, and eventually it becomes hard to tell where a file came from and where it will sync next.&lt;/p&gt;
&lt;p&gt;To keep Syncthing stable, the core is not installing more clients, but building a management model:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use a star topology.&lt;/li&gt;
&lt;li&gt;Standardize folder IDs and paths.&lt;/li&gt;
&lt;li&gt;Use introducers for device relationships.&lt;/li&gt;
&lt;li&gt;Separate backups from two-way sync by data direction.&lt;/li&gt;
&lt;li&gt;Enable versioning on the central node.&lt;/li&gt;
&lt;li&gt;Filter temporary files with ignore patterns.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;topology-avoid-full-mesh-prefer-star&#34;&gt;Topology: Avoid Full Mesh, Prefer Star
&lt;/h2&gt;&lt;p&gt;Syncthing is a P2P architecture, but that does not mean every device should pair with every other device.&lt;/p&gt;
&lt;p&gt;If 5 devices are fully connected, you need to maintain 10 device relationships. When you add a new folder, you also need to accept it, set paths, and confirm sharing across multiple devices. The more devices you have, the higher the management cost.&lt;/p&gt;
&lt;p&gt;A star topology is usually better.&lt;/p&gt;
&lt;p&gt;Choose one always-on, spacious, and stable device as the hub:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NAS&lt;/li&gt;
&lt;li&gt;Synology&lt;/li&gt;
&lt;li&gt;soft router&lt;/li&gt;
&lt;li&gt;mini PC&lt;/li&gt;
&lt;li&gt;a computer that stays on 24/7&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All other devices pair only with the hub:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Phone ----\
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tablet ----\
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Laptop ---- NAS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Desktop ---/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The phone does not directly add the laptop, and the laptop does not directly add the desktop. If the phone needs to sync photos to a computer, it syncs to the NAS first, then the NAS syncs them to the computer.&lt;/p&gt;
&lt;p&gt;This has several benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New devices only need to pair with the NAS.&lt;/li&gt;
&lt;li&gt;Folder relationships are managed centrally on the NAS.&lt;/li&gt;
&lt;li&gt;The NAS can handle version retention consistently.&lt;/li&gt;
&lt;li&gt;When edge devices go offline, the NAS still acts as a buffer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The tradeoff is that the NAS becomes more important. It should run reliably and have its own backup.&lt;/p&gt;
&lt;h2 id=&#34;folder-id-matters-more-than-the-folder-label&#34;&gt;Folder ID Matters More Than the Folder Label
&lt;/h2&gt;&lt;p&gt;In Syncthing, the real identifier for a synchronized folder is the &lt;code&gt;Folder ID&lt;/code&gt;, not the label you see in the UI.&lt;/p&gt;
&lt;p&gt;The label is just a display name and may differ across devices. The &lt;code&gt;Folder ID&lt;/code&gt; is what determines whether folders on different devices belong to the same sync group.&lt;/p&gt;
&lt;p&gt;When creating a folder on the first device, specify a clean ID manually.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;notes-main
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;work-docs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;backup-pixel-photos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;backup-iphone-photos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;media-ebooks
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;code-projects
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Avoid random generated IDs or long-term-unfriendly names such as &lt;code&gt;test&lt;/code&gt;, &lt;code&gt;sync&lt;/code&gt;, and &lt;code&gt;new-folder&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A simple naming rule is enough:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Two-way sync: &lt;code&gt;notes-main&lt;/code&gt;, &lt;code&gt;work-docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Phone backups: &lt;code&gt;backup-pixel-photos&lt;/code&gt;, &lt;code&gt;backup-iphone-photos&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Media distribution: &lt;code&gt;media-ebooks&lt;/code&gt;, &lt;code&gt;media-music&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Code directories: &lt;code&gt;code-projects&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Later, when other devices receive a shared folder, the Folder ID tells you immediately what the folder is for.&lt;/p&gt;
&lt;h2 id=&#34;keep-hub-paths-organized&#34;&gt;Keep Hub Paths Organized
&lt;/h2&gt;&lt;p&gt;On the NAS or central computer, create one dedicated Syncthing root directory.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/Syncthing/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── Phone_Backup/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── iPhone15_DCIM/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── Pixel7_DCIM/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── Work/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── Office_Docs/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── Coding_Projects/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── Notes/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── Main_Notes/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── Media/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    └── eBooks/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Do not scatter sync folders across the system. Scattered paths may feel convenient at first, but they become difficult to maintain.&lt;/p&gt;
&lt;p&gt;Recommended rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Put all Syncthing-managed folders under one root directory.&lt;/li&gt;
&lt;li&gt;Separate phone backups, work documents, and media files into clear sections.&lt;/li&gt;
&lt;li&gt;Let folder names reflect purpose, not temporary device state.&lt;/li&gt;
&lt;li&gt;Do not use system directories or download caches as long-term sync folders.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If Syncthing runs in Docker, also pay attention to the mapping between host paths and container paths.&lt;/p&gt;
&lt;p&gt;For example, the host path:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/Syncthing/Phone_Backup/iPhone15_DCIM
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;may be mounted inside the container as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/var/syncthing/Phone_Backup/iPhone15_DCIM
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The path entered in the Web UI is the container path, not the host path.&lt;/p&gt;
&lt;h2 id=&#34;introducers-reduce-multi-device-pairing-work&#34;&gt;Introducers: Reduce Multi-device Pairing Work
&lt;/h2&gt;&lt;p&gt;Syncthing&amp;rsquo;s &lt;code&gt;Introducer&lt;/code&gt; feature is well suited to star topologies.&lt;/p&gt;
&lt;p&gt;The idea is to make the NAS an introducer. After that, a new device only needs to pair with the NAS. The NAS can introduce known devices and sharing relationships to the new device, reducing repeated scanning and manual adding across devices.&lt;/p&gt;
&lt;p&gt;It works well when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;your home has multiple computers and phones;&lt;/li&gt;
&lt;li&gt;the NAS is the long-running hub;&lt;/li&gt;
&lt;li&gt;you often add new devices;&lt;/li&gt;
&lt;li&gt;you want to reduce pairing work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But do not use it casually.&lt;/p&gt;
&lt;p&gt;Recommended practice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Only set the NAS or main server as an introducer.&lt;/li&gt;
&lt;li&gt;Do not set ordinary phones, tablets, or temporary computers as introducers.&lt;/li&gt;
&lt;li&gt;After a new device joins, check which devices and folders were added automatically.&lt;/li&gt;
&lt;li&gt;Do not bring untrusted devices into the introducer-managed network.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Introducers improve efficiency, but they also expand automatic relationships. They are best for a clear hub-based network, not a messy temporary device environment.&lt;/p&gt;
&lt;h2 id=&#34;separate-backups-from-two-way-sync&#34;&gt;Separate Backups from Two-way Sync
&lt;/h2&gt;&lt;p&gt;In multi-folder management, one of the most important rules is: do not use &lt;code&gt;Send &amp;amp; Receive&lt;/code&gt; for every folder.&lt;/p&gt;
&lt;p&gt;Different folders have different data directions.&lt;/p&gt;
&lt;h3 id=&#34;phone-photo-backup&#34;&gt;Phone Photo Backup
&lt;/h3&gt;&lt;p&gt;Phone side:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;NAS side:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receive Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The phone sends photos and the NAS receives them. Cleaning phone storage or organizing the NAS folder is less likely to affect the other side.&lt;/p&gt;
&lt;h3 id=&#34;multi-device-documents-and-notes&#34;&gt;Multi-device Documents and Notes
&lt;/h3&gt;&lt;p&gt;Computer side:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send &amp;amp; Receive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;NAS side:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send &amp;amp; Receive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Whether the phone joins this two-way sync depends on whether you truly edit these files on the phone. If the phone only reads them, consider &lt;code&gt;Receive Only&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;media-distribution&#34;&gt;Media Distribution
&lt;/h3&gt;&lt;p&gt;NAS side:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Other devices:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receive Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This is suitable for ebooks, installers, and reference material distributed from a central folder.&lt;/p&gt;
&lt;h3 id=&#34;backup-directories&#34;&gt;Backup Directories
&lt;/h3&gt;&lt;p&gt;Primary device:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Backup machine:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receive Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then combine it with versioning or snapshots on the backup side.&lt;/p&gt;
&lt;h2 id=&#34;enable-file-versioning-on-the-nas&#34;&gt;Enable File Versioning on the NAS
&lt;/h2&gt;&lt;p&gt;The biggest risks in multi-device sync are accidental deletion and accidental overwrite.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A computer deletes work documents by mistake.&lt;/li&gt;
&lt;li&gt;A phone cleanup tool removes an album directory.&lt;/li&gt;
&lt;li&gt;Two devices edit the same note at the same time.&lt;/li&gt;
&lt;li&gt;A sync rule is misconfigured and an empty directory is synced over.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because of this, the central node should enable file versioning.&lt;/p&gt;
&lt;p&gt;In the NAS Syncthing Web UI:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the target folder settings.&lt;/li&gt;
&lt;li&gt;Go to file versioning.&lt;/li&gt;
&lt;li&gt;Choose a suitable versioning strategy.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A common choice is &lt;code&gt;Staggered File Versioning&lt;/code&gt;. It keeps historical versions by time intervals, retaining older versions more sparsely over time.&lt;/p&gt;
&lt;p&gt;You can also use simpler strategies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trash Can File Versioning: similar to a recycle bin.&lt;/li&gt;
&lt;li&gt;Simple File Versioning: keeps a fixed number of versions.&lt;/li&gt;
&lt;li&gt;Staggered File Versioning: keeps versions by time stages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are not sure which to choose, a home NAS can start with Trash Can or Staggered.&lt;/p&gt;
&lt;p&gt;Versioning is not a full backup, but it is the undo button you want in multi-device sync.&lt;/p&gt;
&lt;h2 id=&#34;filter-temporary-files-with-ignore-patterns&#34;&gt;Filter Temporary Files with Ignore Patterns
&lt;/h2&gt;&lt;p&gt;When syncing code projects, document folders, or chat backups across many devices, temporary files and caches can create noise.&lt;/p&gt;
&lt;p&gt;Common problems include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;wasting bandwidth;&lt;/li&gt;
&lt;li&gt;generating meaningless conflicts;&lt;/li&gt;
&lt;li&gt;creating different cache files on different operating systems;&lt;/li&gt;
&lt;li&gt;blocking directory deletion because ignored files remain.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Add rules in the folder&amp;rsquo;s Ignore Patterns.&lt;/p&gt;
&lt;p&gt;Common temporary files:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d).DS_Store
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d)Thumbs.db
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d)*~
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Node / Python / Java projects:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d)node_modules/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d)__pycache__/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d).pytest_cache/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d)target/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If a code project is already managed by Git, it is usually not recommended to sync the &lt;code&gt;.git&lt;/code&gt; directory with Syncthing. You can ignore it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d).git/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;(?d)&lt;/code&gt; means that if the whole directory is going to be deleted, Syncthing may delete these locally generated ignored files as well, preventing leftover cache files from blocking the deletion.&lt;/p&gt;
&lt;p&gt;Do not make ignore rules too complex at once. Start with obvious caches and temporary files, then adjust slowly according to real conflicts.&lt;/p&gt;
&lt;h2 id=&#34;multi-folder-naming-examples&#34;&gt;Multi-folder Naming Examples
&lt;/h2&gt;&lt;p&gt;You can use a fixed naming scheme.&lt;/p&gt;
&lt;p&gt;Phone photos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Folder ID: backup-pixel-photos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Label: Pixel Photos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAS Path: /volume1/Syncthing/Phone_Backup/Pixel7_DCIM
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;iPhone photos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Folder ID: backup-iphone-photos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Label: iPhone Photos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAS Path: /volume1/Syncthing/Phone_Backup/iPhone15_DCIM
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Main notes vault:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Folder ID: notes-main
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Label: Main Notes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAS Path: /volume1/Syncthing/Notes/Main_Notes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Work documents:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Folder ID: work-docs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Label: Work Docs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAS Path: /volume1/Syncthing/Work/Office_Docs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ebooks:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Folder ID: media-ebooks
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Label: eBooks
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAS Path: /volume1/Syncthing/Media/eBooks
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As long as IDs, labels, and paths follow rules, multi-device setups are much easier to control.&lt;/p&gt;
&lt;h2 id=&#34;recommended-overall-design&#34;&gt;Recommended Overall Design
&lt;/h2&gt;&lt;p&gt;If you already run Docker Syncthing on a NAS, you can design it like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the NAS as the hub.&lt;/li&gt;
&lt;li&gt;Set the NAS as the introducer.&lt;/li&gt;
&lt;li&gt;Pair all devices only with the NAS.&lt;/li&gt;
&lt;li&gt;Put all sync folders under &lt;code&gt;/volume1/Syncthing/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Use phone &lt;code&gt;Send Only&lt;/code&gt; and NAS &lt;code&gt;Receive Only&lt;/code&gt; for photo folders.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;Send &amp;amp; Receive&lt;/code&gt; for work documents and notes.&lt;/li&gt;
&lt;li&gt;Use NAS &lt;code&gt;Send Only&lt;/code&gt; and other devices &lt;code&gt;Receive Only&lt;/code&gt; for distribution folders.&lt;/li&gt;
&lt;li&gt;Enable versioning for important folders on the NAS.&lt;/li&gt;
&lt;li&gt;Configure ignore rules for code and cache directories.&lt;/li&gt;
&lt;li&gt;Back up or snapshot the NAS itself.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once this structure is in place, adding new devices or folders simply means putting them into the existing rules. You do not need to rethink the sync relationships every time.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;Syncthing gives you a lot of freedom, but the more freedom you have, the more you need rules.&lt;/p&gt;
&lt;p&gt;For multi-device and multi-folder setups, avoid a fully connected mesh. A steadier approach is to let a NAS or always-on computer act as the hub, then standardize Folder IDs, paths, and versioning. Use folder types to distinguish backups, two-way sync, and distribution folders.&lt;/p&gt;
&lt;p&gt;This keeps Syncthing&amp;rsquo;s P2P capability while bringing day-to-day management back to one central device. Even with many devices and many folders, the sync system will not turn into a tangle.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>How to Sync iPhone Photos to a PC or NAS with Syncthing</title>
        <link>https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/</link>
        <pubDate>Sun, 31 May 2026 12:21:54 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/</guid>
        <description>&lt;h2 id=&#34;syncthing-series&#34;&gt;Syncthing Series
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/&#34; &gt;How to Use Syncthing: Practical Notes from Device Pairing to File Sync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/&#34; &gt;Deploying Syncthing with Docker: Compose, Ports, and Volume Mapping Tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/&#34; &gt;How to Configure Syncthing Across Multiple Devices: Peer Networks, Star Topology, and Introducers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/&#34; &gt;How to Use Syncthing on Android: Syncthing-Fork Setup and Photo Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/&#34; &gt;Managing Multiple Devices and Folders in Syncthing: Topology, Naming, and Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/&#34; &gt;How to Sync iPhone Photos to a PC or NAS with Syncthing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Using Syncthing to sync photos on an iPhone is quite different from doing the same thing on Android.&lt;/p&gt;
&lt;p&gt;The reason is simple: iOS is more locked down, and the official Syncthing project does not provide a first-party iOS client. To use the Syncthing protocol on an iPhone, you usually need a third-party compatible client.&lt;/p&gt;
&lt;p&gt;There are two common choices:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Mobius Sync&lt;/code&gt;: a popular option with an experience close to a native app. Some features may require a paid unlock, so check the current App Store description.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FSync&lt;/code&gt;: a free and open-source Syncthing client for iOS.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your goal is to sync the iPhone photo library to a PC or NAS, &lt;code&gt;Mobius Sync&lt;/code&gt; is the more common choice. The steps below use it as the example.&lt;/p&gt;
&lt;h2 id=&#34;understand-the-limits-on-ios-first&#34;&gt;Understand the Limits on iOS First
&lt;/h2&gt;&lt;p&gt;On Android, Syncthing-Fork can run for a long time through a background service, run conditions, and battery optimization exemptions. iOS does not allow third-party sync tools to run in the background without limits.&lt;/p&gt;
&lt;p&gt;This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do not expect it to sync 24/7 like a NAS.&lt;/li&gt;
&lt;li&gt;After the app goes into the background, the sync window may be short.&lt;/li&gt;
&lt;li&gt;For large photo batches, it is best to open the app manually and let it finish.&lt;/li&gt;
&lt;li&gt;iCloud optimized storage may affect whether the original photo files can be read.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So on iPhone, Syncthing is better treated as a &amp;ldquo;open the app periodically to sync photos&amp;rdquo; workflow, rather than a fully invisible real-time background sync service.&lt;/p&gt;
&lt;h2 id=&#34;step-1-install-the-client-and-grant-permissions&#34;&gt;Step 1: Install the Client and Grant Permissions
&lt;/h2&gt;&lt;p&gt;After installing &lt;code&gt;Mobius Sync&lt;/code&gt; from the App Store, handle these permissions carefully the first time you open it.&lt;/p&gt;
&lt;h3 id=&#34;notifications&#34;&gt;Notifications
&lt;/h3&gt;&lt;p&gt;It is recommended to allow notifications. They can show sync status, connection status, and error messages.&lt;/p&gt;
&lt;h3 id=&#34;local-network-access&#34;&gt;Local Network Access
&lt;/h3&gt;&lt;p&gt;This permission is very important.&lt;/p&gt;
&lt;p&gt;iOS separately asks whether an app may access the local network. If you deny it, the iPhone may not be able to discover your PC, NAS, or other Syncthing nodes on the LAN.&lt;/p&gt;
&lt;p&gt;If you denied it by mistake, you can enable it again in iOS Settings.&lt;/p&gt;
&lt;h3 id=&#34;photo-library-access&#34;&gt;Photo Library Access
&lt;/h3&gt;&lt;p&gt;If you want to sync photos, you must allow access to the photo library.&lt;/p&gt;
&lt;p&gt;The recommended choice is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Full Access to Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you only grant limited photo access, &lt;code&gt;Mobius Sync&lt;/code&gt; may only see the selected photos, and newly added photos may not be synced later.&lt;/p&gt;
&lt;h2 id=&#34;step-2-pair-the-iphone-with-the-pc-or-nas&#34;&gt;Step 2: Pair the iPhone with the PC or NAS
&lt;/h2&gt;&lt;p&gt;Syncthing pairing still works by exchanging device IDs.&lt;/p&gt;
&lt;p&gt;On the iPhone:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;Mobius Sync&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Go to &lt;code&gt;Settings&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;Device ID&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Keep the QR code screen open.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;On the PC or NAS:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Syncthing Web UI.&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Add Remote Device&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Scan the QR code on the iPhone, or enter the device ID manually.&lt;/li&gt;
&lt;li&gt;Give the device a name, such as &lt;code&gt;My-iPhone&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Return to the iPhone, wait for the connection request, and tap &lt;code&gt;Accept&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;At this point, the iPhone and the PC/NAS trust each other, but the photo library has not been shared yet.&lt;/p&gt;
&lt;h2 id=&#34;step-3-create-a-photo-sync-folder-on-the-iphone&#34;&gt;Step 3: Create a Photo Sync Folder on the iPhone
&lt;/h2&gt;&lt;p&gt;iOS does not let you choose a path like &lt;code&gt;/DCIM/Camera&lt;/code&gt; directly in the same way Android does. &lt;code&gt;Mobius Sync&lt;/code&gt; provides special support for the system photo library, so you need to choose the photo-library folder type.&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;Mobius Sync&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Switch to &lt;code&gt;Folders&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Tap &lt;code&gt;+&lt;/code&gt; in the upper-right corner.&lt;/li&gt;
&lt;li&gt;Create a new folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Important fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Folder Type&lt;/code&gt;: choose &lt;code&gt;Camera Roll&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Folder Label&lt;/code&gt;: use an easy-to-recognize name, such as &lt;code&gt;iPhone_Photos&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Folder ID&lt;/code&gt;: you can keep the generated value, or use a stable English ID.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Folder Path&lt;/code&gt;: keep the default so the client can bind to the iOS photo library.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then, in the &lt;code&gt;Sharing&lt;/code&gt; section, select the PC or NAS you just paired.&lt;/p&gt;
&lt;h2 id=&#34;step-4-set-the-iphone-side-to-send-only&#34;&gt;Step 4: Set the iPhone Side to Send Only
&lt;/h2&gt;&lt;p&gt;Photo sync is usually &amp;ldquo;phone sends to NAS&amp;rdquo;, not a two-way editing workflow.&lt;/p&gt;
&lt;p&gt;So on the iPhone side, set the folder type to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This makes the iPhone responsible for sending photos out, without accepting reverse changes from the PC or NAS.&lt;/p&gt;
&lt;p&gt;This reduces the risk of accidental operations. For example, when organizing the backup folder on the computer, you usually do not want those changes to affect the iPhone photo library.&lt;/p&gt;
&lt;p&gt;Still, remember that Syncthing is a sync tool, not a complete backup system. For long-term photo safety, you should also use NAS snapshots, file versioning, or an independent backup.&lt;/p&gt;
&lt;h2 id=&#34;step-5-receive-photos-on-the-pc-or-nas&#34;&gt;Step 5: Receive Photos on the PC or NAS
&lt;/h2&gt;&lt;p&gt;After saving on the iPhone, the Syncthing Web UI on the PC or NAS will show a prompt:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device My-iPhone wants to share folder iPhone_Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Click add.&lt;/p&gt;
&lt;p&gt;Set the storage path.&lt;/p&gt;
&lt;p&gt;On Windows, it may look like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;D:\Backups\iPhone_Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On Linux or NAS, it may look like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photos/iphone
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If Syncthing runs in Docker, enter the path inside the container. For example, if the host mount is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- &lt;span class=&#34;l&#34;&gt;/volume1/photos:/var/syncthing/photos&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then in the Web UI, use:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/var/syncthing/photos/iphone
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;set-the-receiving-side-to-receive-only&#34;&gt;Set the Receiving Side to Receive Only
&lt;/h2&gt;&lt;p&gt;On the PC or NAS side, it is also recommended to set this folder type to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receive Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This makes the receiving side accept photos from the iPhone, without syncing local changes back to the iPhone.&lt;/p&gt;
&lt;p&gt;It is a second layer of protection:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iPhone side: &lt;code&gt;Send Only&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;NAS side: &lt;code&gt;Receive Only&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both ends are configured around one-way backup, which better matches a photo archive workflow.&lt;/p&gt;
&lt;h2 id=&#34;the-reality-of-ios-background-sync&#34;&gt;The Reality of iOS Background Sync
&lt;/h2&gt;&lt;p&gt;iOS is strict about background execution. Even with correct settings, do not expect &lt;code&gt;Mobius Sync&lt;/code&gt; to keep running silently in the background all the time.&lt;/p&gt;
&lt;p&gt;Common behavior:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sync speed is normal while the app is open.&lt;/li&gt;
&lt;li&gt;It may keep syncing for a short time after going into the background.&lt;/li&gt;
&lt;li&gt;After a while, the system may pause or limit it.&lt;/li&gt;
&lt;li&gt;Location changes, system scheduling, or short background windows may wake it again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most reliable practical workflow is simple:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;After taking many photos, open &lt;code&gt;Mobius Sync&lt;/code&gt; manually.&lt;/li&gt;
&lt;li&gt;Keep the phone awake, or avoid locking the screen too quickly.&lt;/li&gt;
&lt;li&gt;Wait for the new photos to finish syncing.&lt;/li&gt;
&lt;li&gt;Then close the app or lock the screen.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you are used to doing a photo backup every few days, this approach is fairly reliable.&lt;/p&gt;
&lt;h2 id=&#34;avoid-icloud-optimized-storage-problems&#34;&gt;Avoid iCloud Optimized Storage Problems
&lt;/h2&gt;&lt;p&gt;If the iPhone has enabled:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Optimize iPhone Storage
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;iOS may keep only thumbnails locally while the original files remain in iCloud. When a third-party sync client tries to read photos, it may not be able to get the full originals, causing failed syncs, skipped items, or waits while iOS downloads the files.&lt;/p&gt;
&lt;p&gt;The better setting for sync backup is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Download and Keep Originals
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The path is usually:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Settings -&amp;gt; Apple ID -&amp;gt; iCloud -&amp;gt; Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If the phone does not have enough storage and you must use optimized storage, you may need to open the relevant photos in the system Photos app before syncing, so the iPhone downloads the originals from iCloud first, and then start &lt;code&gt;Mobius Sync&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;tips-for-the-first-large-photo-sync&#34;&gt;Tips for the First Large Photo Sync
&lt;/h2&gt;&lt;p&gt;The first time you sync an iPhone photo library, there may be thousands or even tens of thousands of photos. Do not rush to finish everything in one pass.&lt;/p&gt;
&lt;p&gt;A safer approach:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sync a small number of photos first for testing.&lt;/li&gt;
&lt;li&gt;Confirm the NAS path is correct.&lt;/li&gt;
&lt;li&gt;Confirm the folder types are Send Only / Receive Only.&lt;/li&gt;
&lt;li&gt;Confirm the receiving side will not affect the iPhone in reverse.&lt;/li&gt;
&lt;li&gt;Then start the full sync.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;During the first sync, it is best to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep the iPhone plugged in.&lt;/li&gt;
&lt;li&gt;Keep Wi-Fi stable.&lt;/li&gt;
&lt;li&gt;Keep &lt;code&gt;Mobius Sync&lt;/code&gt; open in the foreground.&lt;/li&gt;
&lt;li&gt;Keep the NAS or PC online.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When the photo library is large, the sync may take a long time. That is normal.&lt;/p&gt;
&lt;h2 id=&#34;recommended-configuration&#34;&gt;Recommended Configuration
&lt;/h2&gt;&lt;p&gt;A stable iPhone photo sync setup looks like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;code&gt;Mobius Sync&lt;/code&gt; on the iPhone.&lt;/li&gt;
&lt;li&gt;Allow notifications, Local Network access, and full photo library access.&lt;/li&gt;
&lt;li&gt;Exchange device IDs between the iPhone and NAS.&lt;/li&gt;
&lt;li&gt;Create a &lt;code&gt;Camera Roll&lt;/code&gt; folder on the iPhone.&lt;/li&gt;
&lt;li&gt;Set the folder label to &lt;code&gt;iPhone_Photos&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set the iPhone-side folder type to &lt;code&gt;Send Only&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set the NAS receiving path to &lt;code&gt;/volume1/photos/iphone&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set the NAS-side folder type to &lt;code&gt;Receive Only&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Enable file versioning or snapshots on the NAS.&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;Mobius Sync&lt;/code&gt; manually every few days to complete sync.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you rely heavily on fully automatic background photo backup, iOS will be more troublesome than Android. The system restrictions make it difficult for third-party sync tools to behave like an always-on background service.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;An iPhone can join the Syncthing ecosystem through &lt;code&gt;Mobius Sync&lt;/code&gt; or &lt;code&gt;FSync&lt;/code&gt;, and sync photos to a PC or NAS.&lt;/p&gt;
&lt;p&gt;The key differences on iOS are background limits and photo-library permissions. During setup, allow Local Network access and full photo access. Design the folder types around one-way backup: iPhone &lt;code&gt;Send Only&lt;/code&gt;, NAS &lt;code&gt;Receive Only&lt;/code&gt;. If iCloud optimized storage is enabled, also check whether the original photos are truly available locally.&lt;/p&gt;
&lt;p&gt;For photo archiving, the most stable workflow is to open the client periodically to sync, then let the NAS handle version retention, snapshots, and long-term backup.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Using Syncthing on Android: Syncthing-Fork Setup and Photo Backup</title>
        <link>https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/</link>
        <pubDate>Sun, 31 May 2026 12:17:19 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/</guid>
        <description>&lt;h2 id=&#34;syncthing-series&#34;&gt;Syncthing Series
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/&#34; &gt;How to Use Syncthing: Practical Notes from Device Pairing to File Sync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/&#34; &gt;Deploying Syncthing with Docker: Compose, Ports, and Volume Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/&#34; &gt;How to Configure Syncthing Across Multiple Devices: Mesh, Star Topology, and Introducers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/&#34; &gt;Using Syncthing on Android: Syncthing-Fork Setup and Photo Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/&#34; &gt;Managing Syncthing Across Many Devices and Folders: Topology, Naming, and Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/&#34; &gt;How to Sync iPhone Photos to a Computer or NAS with Syncthing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On Android, there are two common ways to use Syncthing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The original Syncthing Android client.&lt;/li&gt;
&lt;li&gt;The community-maintained Syncthing-Fork.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both can work for basic use. For long-term syncing of photos, notes, or documents, Syncthing-Fork is usually the better choice. It offers more practical controls for Android background behavior, battery usage, and network conditions, including Wi-Fi-only sync, selected Wi-Fi SSIDs, and running only while charging.&lt;/p&gt;
&lt;p&gt;This article combines general Android setup with photo backup. Photo backup is one of the most common mobile Syncthing workflows, but it should not be configured like an ordinary two-way sync folder.&lt;/p&gt;
&lt;h2 id=&#34;why-syncthing-fork-is-usually-better&#34;&gt;Why Syncthing-Fork Is Usually Better
&lt;/h2&gt;&lt;p&gt;Android actively restricts background apps. After the screen turns off, the system may suspend networking, freeze processes, or kill background services. If a sync tool does not handle this well, it may only sync while the app is open.&lt;/p&gt;
&lt;p&gt;Syncthing-Fork is more practical for phone use because it can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set run conditions.&lt;/li&gt;
&lt;li&gt;Sync only on Wi-Fi.&lt;/li&gt;
&lt;li&gt;Sync only on selected Wi-Fi networks.&lt;/li&gt;
&lt;li&gt;Run only while charging.&lt;/li&gt;
&lt;li&gt;Fit Android&amp;rsquo;s background restrictions better.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This does not mean the original client is unusable. It simply means Syncthing-Fork is better tuned for long-running mobile sync.&lt;/p&gt;
&lt;h2 id=&#34;installation-sources&#34;&gt;Installation Sources
&lt;/h2&gt;&lt;p&gt;Common sources include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Play&lt;/li&gt;
&lt;li&gt;F-Droid&lt;/li&gt;
&lt;li&gt;GitHub Releases&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Choose the channel you trust. After installation, handle permissions and background settings before pairing devices.&lt;/p&gt;
&lt;h2 id=&#34;step-1-grant-required-permissions&#34;&gt;Step 1: Grant Required Permissions
&lt;/h2&gt;&lt;p&gt;On first launch, focus on two permission areas.&lt;/p&gt;
&lt;h3 id=&#34;storage-permission&#34;&gt;Storage Permission
&lt;/h3&gt;&lt;p&gt;For file synchronization, Syncthing-Fork must be able to read and write target folders.&lt;/p&gt;
&lt;p&gt;Recent Android versions may ask for all-files access or similar storage access. Without it, the app may only see a limited set of folders and fail to read photos, documents, or your chosen sync directory.&lt;/p&gt;
&lt;p&gt;Recommendations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grant the required file access permissions.&lt;/li&gt;
&lt;li&gt;Put sync folders under ordinary internal-storage directories.&lt;/li&gt;
&lt;li&gt;Avoid protected system directories.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Useful examples:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/SyncData
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/SyncData/Notes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/SyncData/Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For camera photos, the common path is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/DCIM/Camera
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;battery-optimization-allowlist&#34;&gt;Battery Optimization Allowlist
&lt;/h3&gt;&lt;p&gt;This is the most important Android-specific step.&lt;/p&gt;
&lt;p&gt;If Syncthing-Fork is not excluded from battery optimization, Android may kill the sync process after the screen locks. The result is simple: you think it is syncing in the background, but it only moves when you open the app.&lt;/p&gt;
&lt;p&gt;Add Syncthing-Fork to the system battery optimization allowlist. The setting name depends on the vendor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Not optimized&lt;/li&gt;
&lt;li&gt;Allow background running&lt;/li&gt;
&lt;li&gt;Allow auto start&lt;/li&gt;
&lt;li&gt;Lock in background&lt;/li&gt;
&lt;li&gt;Allow high background power usage&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many Android vendor builds add extra background and auto-start restrictions. If sync is unstable, check both battery management and auto-start settings.&lt;/p&gt;
&lt;h2 id=&#34;step-2-pair-with-a-nas-or-computer&#34;&gt;Step 2: Pair with a NAS or Computer
&lt;/h2&gt;&lt;p&gt;Syncthing pairs devices by adding each other&amp;rsquo;s device ID.&lt;/p&gt;
&lt;p&gt;Assume the phone is device A and the NAS or computer is device B.&lt;/p&gt;
&lt;p&gt;On the phone:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open Syncthing-Fork.&lt;/li&gt;
&lt;li&gt;Open the menu.&lt;/li&gt;
&lt;li&gt;Show the device ID.&lt;/li&gt;
&lt;li&gt;You will see a QR code and a long device ID.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;On the NAS or computer:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Syncthing Web GUI.&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Add Remote Device&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Scan the phone&amp;rsquo;s QR code, or paste the phone device ID manually.&lt;/li&gt;
&lt;li&gt;Name it clearly, such as &lt;code&gt;Android-Phone&lt;/code&gt; or &lt;code&gt;Pixel-Phone&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Back on the phone, accept the connection request.&lt;/p&gt;
&lt;p&gt;At this point, the two devices trust each other, but no folder is synced yet.&lt;/p&gt;
&lt;h2 id=&#34;step-3-receive-a-folder-shared-from-nas-or-pc&#34;&gt;Step 3: Receive a Folder Shared from NAS or PC
&lt;/h2&gt;&lt;p&gt;If the computer or NAS shares a folder with the phone, the phone will show a prompt.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device NAS wants to share folder Notes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Add it, then choose a local path on the phone, such as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/SyncData/Notes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After saving, the phone starts downloading from the NAS or computer.&lt;/p&gt;
&lt;p&gt;It is better to create the directory manually first so Syncthing-Fork does not place it somewhere unexpected.&lt;/p&gt;
&lt;p&gt;If you sync Markdown notes, be careful with application configuration directories. In Obsidian, &lt;code&gt;.obsidian&lt;/code&gt; contains workspace state, plugin settings, and cache. If Android and desktop plugins differ a lot, start by syncing only note content and attachments.&lt;/p&gt;
&lt;h2 id=&#34;step-4-back-up-phone-photos-to-a-pc-or-nas&#34;&gt;Step 4: Back Up Phone Photos to a PC or NAS
&lt;/h2&gt;&lt;p&gt;The most common phone use case is backing up photos to a NAS or computer.&lt;/p&gt;
&lt;p&gt;Photo backup is different from normal file sync. Most people want new phone photos copied to the NAS, not phone deletions mirrored to the NAS. Treat it as one-way backup.&lt;/p&gt;
&lt;p&gt;Recommended combination:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Phone side: &lt;code&gt;Send Only&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;PC or NAS side: &lt;code&gt;Receive Only&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The phone sends photos, and the NAS receives and stores them. Add NAS-side file versioning or snapshots to reduce deletion risk.&lt;/p&gt;
&lt;h2 id=&#34;add-the-camera-folder-on-the-phone&#34;&gt;Add the Camera Folder on the Phone
&lt;/h2&gt;&lt;p&gt;In Syncthing-Fork&amp;rsquo;s folder page:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tap &lt;code&gt;+&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Create a folder.&lt;/li&gt;
&lt;li&gt;Use a clear label such as &lt;code&gt;Pixel_Photos&lt;/code&gt; or &lt;code&gt;Huawei_DCIM&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Choose the phone&amp;rsquo;s camera directory.&lt;/li&gt;
&lt;li&gt;Share it with your PC or NAS.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The common Android camera path is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/DCIM/Camera
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Screenshots, WeChat images, or other app images often live elsewhere. Add separate folders when needed:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/Pictures/Screenshots
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/Pictures/WeiXin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Paths vary by Android version, vendor, and app. Confirm with a file manager first.&lt;/p&gt;
&lt;h2 id=&#34;set-the-phone-folder-to-send-only&#34;&gt;Set the Phone Folder to Send Only
&lt;/h2&gt;&lt;p&gt;In the phone-side folder settings, change the folder type from:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send &amp;amp; Receive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This makes the phone the photo source. New photos are sent to the NAS, but NAS-side changes are not written back to the phone.&lt;/p&gt;
&lt;p&gt;Syncthing is still a sync tool, not a complete backup system. For a safer setup, also enable NAS-side versioning, snapshots, or independent backups.&lt;/p&gt;
&lt;h2 id=&#34;configure-the-receiver-path&#34;&gt;Configure the Receiver Path
&lt;/h2&gt;&lt;p&gt;After saving on the phone, the PC or NAS Web GUI will show a prompt:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device Pixel-Phone wants to share folder Pixel_Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Add it and choose the local storage path.&lt;/p&gt;
&lt;p&gt;On Windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;D:\Backups\Phone_Photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On Linux or NAS:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photos/phone
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With Docker, remember to use the container path. If the host mapping is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- &lt;span class=&#34;l&#34;&gt;/volume1/photos:/var/syncthing/photos&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;then the Web GUI path should be:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/var/syncthing/photos/phone
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;set-the-receiver-to-receive-only&#34;&gt;Set the Receiver to Receive Only
&lt;/h2&gt;&lt;p&gt;On the PC or NAS, set the folder type to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receive Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The receiver will accept photos from the phone but will not send local changes back.&lt;/p&gt;
&lt;p&gt;This is an extra layer of protection. Even if you move, edit, or delete files on the NAS, those actions should not directly affect the originals on the phone.&lt;/p&gt;
&lt;p&gt;Still, &lt;code&gt;Receive Only&lt;/code&gt; is not a replacement for NAS history. Enable file versioning or snapshots on the NAS if the photos matter.&lt;/p&gt;
&lt;h2 id=&#34;test-with-a-small-set-first&#34;&gt;Test with a Small Set First
&lt;/h2&gt;&lt;p&gt;Do not start by syncing tens of thousands of photos.&lt;/p&gt;
&lt;p&gt;Test first:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Put 3-5 temporary photos in the phone album.&lt;/li&gt;
&lt;li&gt;Confirm that the PC or NAS receives them.&lt;/li&gt;
&lt;li&gt;Add a new photo and see whether it syncs.&lt;/li&gt;
&lt;li&gt;Delete one test photo on the phone and observe the NAS behavior.&lt;/li&gt;
&lt;li&gt;Only then enable the full album.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Folder type and deletion behavior are easy to misunderstand. A small test avoids expensive cleanup later.&lt;/p&gt;
&lt;h2 id=&#34;run-conditions-avoid-mobile-data-usage&#34;&gt;Run Conditions: Avoid Mobile Data Usage
&lt;/h2&gt;&lt;p&gt;Syncthing-Fork run conditions are very useful on Android.&lt;/p&gt;
&lt;p&gt;At minimum, enable:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Run only when connected to Wi-Fi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This avoids syncing large files over 5G or 4G.&lt;/p&gt;
&lt;p&gt;If you only want sync at home, restrict it to a specific Wi-Fi SSID. This is useful when the NAS is only reachable on your home LAN.&lt;/p&gt;
&lt;h2 id=&#34;charging-only-sync&#34;&gt;Charging-Only Sync
&lt;/h2&gt;&lt;p&gt;If you do not need real-time sync, enable:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Run only while charging
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;A stable workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Take photos and write notes during the day.&lt;/li&gt;
&lt;li&gt;Syncthing-Fork does not keep running constantly.&lt;/li&gt;
&lt;li&gt;At night, return home and connect to home Wi-Fi.&lt;/li&gt;
&lt;li&gt;Plug in the charger.&lt;/li&gt;
&lt;li&gt;Syncthing-Fork starts and syncs the day&amp;rsquo;s photos and files to the NAS.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This saves battery and fits phone usage better than always-on sync.&lt;/p&gt;
&lt;p&gt;For notes that must update quickly, you can skip charging-only mode and keep Wi-Fi-only mode.&lt;/p&gt;
&lt;h2 id=&#34;android-11-storage-restrictions&#34;&gt;Android 11+ Storage Restrictions
&lt;/h2&gt;&lt;p&gt;Android 11 and later restrict storage more heavily. Some directories may not be reliably accessible, especially:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Android/data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Android/obb
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;SD card directories may also be limited depending on vendor, Android version, and file picker authorization.&lt;/p&gt;
&lt;p&gt;Recommendations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create dedicated sync directories under internal storage.&lt;/li&gt;
&lt;li&gt;Do not use app-private system directories as primary sync folders.&lt;/li&gt;
&lt;li&gt;For photos, prefer ordinary media folders such as &lt;code&gt;DCIM/Camera&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;For notes, use a clear path such as &lt;code&gt;/storage/emulated/0/SyncData/Notes&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Stability matters more than choosing a path that looks native.&lt;/p&gt;
&lt;p&gt;Do not sync all of:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;It is too large and mixed, with caches, downloads, app data, and temporary files.&lt;/p&gt;
&lt;h2 id=&#34;choosing-folder-types-on-the-phone&#34;&gt;Choosing Folder Types on the Phone
&lt;/h2&gt;&lt;p&gt;Different scenarios need different folder types.&lt;/p&gt;
&lt;h3 id=&#34;two-way-note-sync&#34;&gt;Two-Way Note Sync
&lt;/h3&gt;&lt;p&gt;If both phone and PC edit the same Markdown notes:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send &amp;amp; Receive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Avoid editing the same file on multiple devices at the same time.&lt;/p&gt;
&lt;h3 id=&#34;phone-photos-to-nas&#34;&gt;Phone Photos to NAS
&lt;/h3&gt;&lt;p&gt;If the phone mainly sends photos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Send Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Use versioning or snapshots on the NAS.&lt;/p&gt;
&lt;h3 id=&#34;read-only-materials-on-the-phone&#34;&gt;Read-Only Materials on the Phone
&lt;/h3&gt;&lt;p&gt;If the phone only needs to read files from the NAS:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receive Only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This works for ebooks, reference documents, or script examples.&lt;/p&gt;
&lt;h2 id=&#34;think-through-deletion-semantics&#34;&gt;Think Through Deletion Semantics
&lt;/h2&gt;&lt;p&gt;Will deleting a phone photo delete it on the NAS? It depends on folder types and sync state.&lt;/p&gt;
&lt;p&gt;To reduce risk:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;Send Only&lt;/code&gt; on the phone.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;Receive Only&lt;/code&gt; on the NAS.&lt;/li&gt;
&lt;li&gt;Enable file versioning on the NAS.&lt;/li&gt;
&lt;li&gt;Add snapshots or separate backups.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your real goal is archival storage, sync into an inbox directory first, then let a NAS task copy files into an archive directory that Syncthing no longer manages.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photos/inbox-phone
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photos/archive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Syncthing writes to &lt;code&gt;inbox-phone&lt;/code&gt;; a scheduled script organizes files into &lt;code&gt;archive&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;common-problems&#34;&gt;Common Problems
&lt;/h2&gt;&lt;h3 id=&#34;sync-stops-after-screen-lock&#34;&gt;Sync Stops After Screen Lock
&lt;/h3&gt;&lt;p&gt;Check:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Battery optimization allowlist.&lt;/li&gt;
&lt;li&gt;Background running permission.&lt;/li&gt;
&lt;li&gt;Auto-start permission.&lt;/li&gt;
&lt;li&gt;Whether Wi-Fi-only or charging-only conditions are active.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Often the issue is Android background management, not Syncthing itself.&lt;/p&gt;
&lt;h3 id=&#34;cannot-find-the-camera-folder&#34;&gt;Cannot Find the Camera Folder
&lt;/h3&gt;&lt;p&gt;Use a file manager to confirm the real path. The common path is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/storage/emulated/0/DCIM/Camera
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Third-party camera or editing apps may use other folders.&lt;/p&gt;
&lt;h3 id=&#34;sync-is-slow&#34;&gt;Sync Is Slow
&lt;/h3&gt;&lt;p&gt;Check:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Whether the phone and NAS are on the same Wi-Fi.&lt;/li&gt;
&lt;li&gt;Whether traffic is going through relay.&lt;/li&gt;
&lt;li&gt;Whether &lt;code&gt;22000/TCP&lt;/code&gt; and &lt;code&gt;22000/UDP&lt;/code&gt; are reachable on the NAS.&lt;/li&gt;
&lt;li&gt;Whether the phone is in power-saving mode.&lt;/li&gt;
&lt;li&gt;Whether there are many small files.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many small files are slower than fewer large files. After the first sync, incremental sync is usually much lighter.&lt;/p&gt;
&lt;h3 id=&#34;deleting-phone-photos-also-deletes-nas-copies&#34;&gt;Deleting Phone Photos Also Deletes NAS Copies
&lt;/h3&gt;&lt;p&gt;That means your sync relationship is propagating deletions. Syncthing is a sync tool, not a built-in append-only backup tool.&lt;/p&gt;
&lt;p&gt;Fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check folder types on phone and NAS.&lt;/li&gt;
&lt;li&gt;Enable NAS-side file versioning.&lt;/li&gt;
&lt;li&gt;Add snapshots or independent backups.&lt;/li&gt;
&lt;li&gt;Use an inbox directory and archive files outside Syncthing&amp;rsquo;s control if needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;recommended-setup&#34;&gt;Recommended Setup
&lt;/h2&gt;&lt;p&gt;For Android + NAS:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install Syncthing-Fork on the phone.&lt;/li&gt;
&lt;li&gt;Grant file access.&lt;/li&gt;
&lt;li&gt;Add it to the battery optimization allowlist.&lt;/li&gt;
&lt;li&gt;Pair phone and NAS.&lt;/li&gt;
&lt;li&gt;Put notes under &lt;code&gt;/storage/emulated/0/SyncData/Notes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;/storage/emulated/0/DCIM/Camera&lt;/code&gt; for photos.&lt;/li&gt;
&lt;li&gt;Set the phone photo folder to &lt;code&gt;Send Only&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set the NAS photo folder to &lt;code&gt;Receive Only&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Enable home Wi-Fi-only sync.&lt;/li&gt;
&lt;li&gt;If real-time sync is not needed, enable charging-only sync.&lt;/li&gt;
&lt;li&gt;Enable NAS-side versioning or snapshots.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This avoids constant battery drain while still backing up photos when the phone returns home and charges.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;Using Syncthing on Android is not just about installing the app. The important parts are permissions, background behavior, battery settings, and network conditions.&lt;/p&gt;
&lt;p&gt;Syncthing-Fork is better suited to long-term phone sync. It can limit sync to Wi-Fi, selected Wi-Fi networks, or charging state, reducing battery drain and mobile data usage.&lt;/p&gt;
&lt;p&gt;For photo backup to a NAS, use a one-way backup mindset: phone &lt;code&gt;Send Only&lt;/code&gt;, PC or NAS &lt;code&gt;Receive Only&lt;/code&gt;, plus NAS-side versioning, snapshots, and independent backups. Syncthing handles transfer; long-term safety still depends on your backup strategy.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>How to Configure Syncthing for Multiple Devices: Peer Networks, Star Topology, and Introducers</title>
        <link>https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/</link>
        <pubDate>Sun, 31 May 2026 12:13:57 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/</guid>
        <description>&lt;h2 id=&#34;syncthing-series&#34;&gt;Syncthing Series
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/&#34; &gt;How to Use Syncthing: Practical Notes from Device Pairing to File Sync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/&#34; &gt;Deploy Syncthing with Docker: Compose, Ports, and Volume Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/&#34; &gt;How to Configure Syncthing for Multiple Devices: Peer Networks, Star Topology, and Introducers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/&#34; &gt;How to Use Syncthing on Android: Syncthing-Fork Setup and Photo Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/&#34; &gt;How to Manage Syncthing Across Multiple Devices and Folders: Topology, Naming, and Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/&#34; &gt;How to Sync iPhone Photos to a Computer or NAS with Syncthing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Syncthing uses a decentralized P2P architecture. It does not have a traditional Server or Client role. At the protocol level, every device is a peer.&lt;/p&gt;
&lt;p&gt;In real use, though, you can organize it in two common ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pure peer network: every device pairs directly with the other devices.&lt;/li&gt;
&lt;li&gt;Star network: one NAS, server, or always-on computer acts as the central node, and all other devices pair only with it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both approaches fit Syncthing&amp;rsquo;s design. The difference is management cost and daily workflow.&lt;/p&gt;
&lt;h2 id=&#34;understand-peers-and-the-pseudo-server-first&#34;&gt;Understand Peers and the Pseudo Server First
&lt;/h2&gt;&lt;p&gt;Every Syncthing device has its own device ID. When two devices add each other&amp;rsquo;s ID and share the same folder, they can sync.&lt;/p&gt;
&lt;p&gt;That means Syncthing itself does not require one server to hold all data. What people call a &amp;ldquo;server&amp;rdquo; is usually just an always-on device that you choose as the operational center.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A NAS is always on and has plenty of storage, so it works well as a central node.&lt;/li&gt;
&lt;li&gt;Phones and laptops often go offline, so they are better treated as edge devices.&lt;/li&gt;
&lt;li&gt;A desktop may be powerful, but it may not run 24/7, so it is usually a normal sync node.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This central node is not a protocol-level server. It is simply the device you let handle management and relay duties in your topology.&lt;/p&gt;
&lt;h2 id=&#34;mode-1-pure-peer-mesh&#34;&gt;Mode 1: Pure Peer Mesh
&lt;/h2&gt;&lt;p&gt;In pure peer mode, every device pairs with every other device.&lt;/p&gt;
&lt;p&gt;For example, suppose you have four devices:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NAS&lt;/li&gt;
&lt;li&gt;Desktop&lt;/li&gt;
&lt;li&gt;Laptop&lt;/li&gt;
&lt;li&gt;Phone&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each device needs to connect to the other three. Any two online devices can then sync directly.&lt;/p&gt;
&lt;p&gt;Advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Transfer paths are more direct.&lt;/li&gt;
&lt;li&gt;If one device is offline, other online devices can still sync with each other.&lt;/li&gt;
&lt;li&gt;There is no dependency on a single central node.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Disadvantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The more devices you have, the more complex pairing becomes.&lt;/li&gt;
&lt;li&gt;Adding a new device requires confirmation and setup on multiple existing devices.&lt;/li&gt;
&lt;li&gt;Folder sharing relationships can become scattered.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you only have a few devices, pure peer mode is comfortable. For one computer and one phone, or two computers syncing notes, there is no need to overthink the design.&lt;/p&gt;
&lt;p&gt;Once you have five or six devices, maintaining a fully connected mesh by hand becomes increasingly annoying.&lt;/p&gt;
&lt;h2 id=&#34;mode-2-nas-centered-star-topology&#34;&gt;Mode 2: NAS-Centered Star Topology
&lt;/h2&gt;&lt;p&gt;Star topology is usually better for home and personal productivity setups.&lt;/p&gt;
&lt;p&gt;Pick one device that stays online, has enough space, and has a stable network connection, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NAS&lt;/li&gt;
&lt;li&gt;Synology&lt;/li&gt;
&lt;li&gt;Soft router&lt;/li&gt;
&lt;li&gt;Mini PC&lt;/li&gt;
&lt;li&gt;Home Linux server&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then pair every other device only with that center:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Phone   ----\
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Laptop  ---- NAS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Desktop ----/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The phone does not need to pair directly with the laptop, and the laptop does not need to pair directly with the desktop. They all sync indirectly through the NAS.&lt;/p&gt;
&lt;p&gt;Advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Management is simple.&lt;/li&gt;
&lt;li&gt;A new device only needs to pair with the NAS.&lt;/li&gt;
&lt;li&gt;The NAS can handle versioning and backup buffering.&lt;/li&gt;
&lt;li&gt;It fits 24/7 sync scenarios.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Disadvantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the NAS is offline, other devices may not be able to keep syncing with each other.&lt;/li&gt;
&lt;li&gt;If all traffic goes through the NAS, its network and disk performance affect the experience.&lt;/li&gt;
&lt;li&gt;The central node&amp;rsquo;s permissions need to be managed carefully.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you already have a NAS or an always-on mini server, star topology is the default recommendation. It keeps Syncthing&amp;rsquo;s P2P strengths while making day-to-day management feel much closer to centralized sync.&lt;/p&gt;
&lt;h2 id=&#34;basic-order-for-multi-device-setup&#34;&gt;Basic Order for Multi-Device Setup
&lt;/h2&gt;&lt;p&gt;No matter which topology you choose, Syncthing setup follows this order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pair devices first.&lt;/li&gt;
&lt;li&gt;Share folders second.&lt;/li&gt;
&lt;li&gt;Confirm the local path on the receiving side last.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Do not start by creating folders everywhere. Clarify device relationships first, and the later steps will be much less chaotic.&lt;/p&gt;
&lt;h2 id=&#34;step-1-pair-devices&#34;&gt;Step 1: Pair Devices
&lt;/h2&gt;&lt;p&gt;Assume you want to connect device A and device B.&lt;/p&gt;
&lt;p&gt;Device A could be a phone, while device B could be a NAS or computer.&lt;/p&gt;
&lt;p&gt;On device A:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Syncthing Web UI.&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Actions&lt;/code&gt; in the upper-right corner.&lt;/li&gt;
&lt;li&gt;Choose &lt;code&gt;Show ID&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Copy the device ID or display the QR code.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;On device B:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Syncthing Web UI.&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Add Remote Device&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Enter device A&amp;rsquo;s ID.&lt;/li&gt;
&lt;li&gt;Give the device a recognizable name, such as &lt;code&gt;My-Phone&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Then return to device A. It will usually show a prompt saying that device B wants to connect. Accept it.&lt;/p&gt;
&lt;p&gt;At this point, the two devices have established a peer relationship, but no folders are syncing yet.&lt;/p&gt;
&lt;h2 id=&#34;step-2-create-and-share-a-folder&#34;&gt;Step 2: Create and Share a Folder
&lt;/h2&gt;&lt;p&gt;On device A, click &lt;code&gt;Add Folder&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Common fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Folder label: a human-readable name, such as &lt;code&gt;Notes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Folder ID: the cross-device identifier. Use stable English names, such as &lt;code&gt;notes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Folder path: the real local path on this device.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then switch to the &lt;code&gt;Sharing&lt;/code&gt; tab and select the device B you just paired.&lt;/p&gt;
&lt;p&gt;After saving, device A sends a folder sharing invitation to device B.&lt;/p&gt;
&lt;h2 id=&#34;step-3-accept-the-share&#34;&gt;Step 3: Accept the Share
&lt;/h2&gt;&lt;p&gt;Open device B&amp;rsquo;s Web UI and wait a few seconds. You will usually see a prompt like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device A wants to share a folder
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Click add, then choose a local storage path on device B.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/notes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or, in a Docker deployment, a container path such as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/var/syncthing/notes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After saving, sync starts.&lt;/p&gt;
&lt;p&gt;The paths do not have to match across devices. Syncthing identifies the sync relationship by Folder ID, not by requiring every device to use the same local path.&lt;/p&gt;
&lt;h2 id=&#34;how-to-configure-star-topology&#34;&gt;How to Configure Star Topology
&lt;/h2&gt;&lt;p&gt;If you use the NAS-centered model, a good setup is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Deploy Syncthing on the NAS first.&lt;/li&gt;
&lt;li&gt;Pair every phone, computer, and server only with the NAS.&lt;/li&gt;
&lt;li&gt;Create or accept the main sync folders on the NAS.&lt;/li&gt;
&lt;li&gt;Each new device only needs to add the NAS device ID.&lt;/li&gt;
&lt;li&gt;Share each folder only between the NAS and the devices that need it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── notes       -&amp;gt; desktop, laptop, phone
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── photos      -&amp;gt; phone, backup disk
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── downloads   -&amp;gt; desktop, NAS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── scripts     -&amp;gt; desktop, laptop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This keeps the structure clear. You can treat the NAS as the control panel for sync relationships.&lt;/p&gt;
&lt;h2 id=&#34;what-is-an-introducer&#34;&gt;What Is an Introducer?
&lt;/h2&gt;&lt;p&gt;Syncthing has a useful feature called Introducer.&lt;/p&gt;
&lt;p&gt;It is designed for multi-device setups.&lt;/p&gt;
&lt;p&gt;Suppose you set the NAS as an introducer. Later, when a new device pairs with the NAS, the NAS can introduce the other devices it knows to the new device. It can also help propagate existing shared relationships.&lt;/p&gt;
&lt;p&gt;This reduces repetitive clicking and repeated device pairing.&lt;/p&gt;
&lt;p&gt;It is useful when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have several computers and phones at home.&lt;/li&gt;
&lt;li&gt;The NAS is the long-running central node.&lt;/li&gt;
&lt;li&gt;You add new devices often.&lt;/li&gt;
&lt;li&gt;You want to reduce manual device relationship maintenance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Be careful, though. An introducer expands the scope of automatically established relationships. Do not set an untrusted device as an introducer, and do not enable it casually before you understand the topology.&lt;/p&gt;
&lt;p&gt;A safer rule is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Only set the NAS or main server as the introducer.&lt;/li&gt;
&lt;li&gt;Do not make ordinary phones or laptops introducers.&lt;/li&gt;
&lt;li&gt;After adding a new device, check which devices and folders were added automatically.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;folder-type-controls-data-direction&#34;&gt;Folder Type Controls Data Direction
&lt;/h2&gt;&lt;p&gt;Syncthing&amp;rsquo;s permission behavior is mostly controlled by the folder type.&lt;/p&gt;
&lt;p&gt;Open a folder&amp;rsquo;s settings and adjust &lt;code&gt;Folder Type&lt;/code&gt; in the options.&lt;/p&gt;
&lt;p&gt;There are three common types:&lt;/p&gt;
&lt;h3 id=&#34;send--receive&#34;&gt;Send &amp;amp; Receive
&lt;/h3&gt;&lt;p&gt;The default mode. Both sides can send and receive changes.&lt;/p&gt;
&lt;p&gt;It is suitable for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editing notes from multiple devices.&lt;/li&gt;
&lt;li&gt;Syncing documents across several computers.&lt;/li&gt;
&lt;li&gt;Normal two-way sync folders.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is the closest mode to true peer-to-peer sync.&lt;/p&gt;
&lt;h3 id=&#34;send-only&#34;&gt;Send Only
&lt;/h3&gt;&lt;p&gt;This device only sends changes and does not accept changes from other devices.&lt;/p&gt;
&lt;p&gt;It is suitable for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data source folders.&lt;/li&gt;
&lt;li&gt;Distributing a primary folder to other devices.&lt;/li&gt;
&lt;li&gt;Preventing remote changes from affecting this device.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, you can set a software installer directory on the NAS to Send Only so other computers only receive it.&lt;/p&gt;
&lt;h3 id=&#34;receive-only&#34;&gt;Receive Only
&lt;/h3&gt;&lt;p&gt;This device only receives changes and does not send local changes out.&lt;/p&gt;
&lt;p&gt;It is suitable for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backup machines.&lt;/li&gt;
&lt;li&gt;Read-only mirrors.&lt;/li&gt;
&lt;li&gt;Preventing local accidental deletion from propagating back to the source.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, if the NAS receives photos from a phone, and you do not want phone-side deletion to also remove the NAS copy, you need to design folder types and deletion policy carefully.&lt;/p&gt;
&lt;h2 id=&#34;different-folders-can-use-different-topologies&#34;&gt;Different Folders Can Use Different Topologies
&lt;/h2&gt;&lt;p&gt;Syncthing topology does not need to be site-wide or uniform. You can design it per folder.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;notes&lt;/code&gt;: desktop, laptop, phone, and NAS all use Send &amp;amp; Receive.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;photos&lt;/code&gt;: phone sends, NAS receives and keeps versions.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;downloads&lt;/code&gt;: desktop and NAS sync, phone does not participate.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;backup&lt;/code&gt;: main computer is Send Only, NAS is Receive Only.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Do not force every directory into one rule. In multi-device sync, the important question is data direction, not device count.&lt;/p&gt;
&lt;h2 id=&#34;think-about-conflicts-and-accidental-deletion-early&#34;&gt;Think About Conflicts and Accidental Deletion Early
&lt;/h2&gt;&lt;p&gt;The most common multi-device sync problem is not failed setup. It is accidental deletion or conflicts after sync is already working.&lt;/p&gt;
&lt;p&gt;Risky scenarios include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Two devices edit the same file at the same time.&lt;/li&gt;
&lt;li&gt;A mobile app automatically cleans a folder.&lt;/li&gt;
&lt;li&gt;One device uses the wrong path, creates an empty folder, and syncs it out.&lt;/li&gt;
&lt;li&gt;Cache files, temporary files, workspace state, and real files are synced together.&lt;/li&gt;
&lt;li&gt;Versioning is not enabled on the NAS.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Recommendations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable file versioning on the NAS for important folders.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;.stignore&lt;/code&gt; to exclude caches and temporary files.&lt;/li&gt;
&lt;li&gt;Before the first sync of a new folder, test with a small number of files.&lt;/li&gt;
&lt;li&gt;If deletion behavior is unclear, do not set every device to Send &amp;amp; Receive.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;recommended-setup&#34;&gt;Recommended Setup
&lt;/h2&gt;&lt;p&gt;If you have a NAS or always-on server, use star topology directly:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the NAS as the central node.&lt;/li&gt;
&lt;li&gt;Pair the NAS with all devices.&lt;/li&gt;
&lt;li&gt;Ordinary devices pair only with the NAS.&lt;/li&gt;
&lt;li&gt;The NAS can be set as an introducer.&lt;/li&gt;
&lt;li&gt;Choose Send &amp;amp; Receive, Send Only, or Receive Only per folder.&lt;/li&gt;
&lt;li&gt;Enable file versioning on the NAS for important folders.&lt;/li&gt;
&lt;li&gt;After adding a new device, share a test folder first to confirm path and permissions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you only have two or three devices, and they are often online, pure peer mode is fine. It is more direct and may be faster.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;Syncthing is a P2P peer architecture, but that does not mean every device must be wired into a complex mesh.&lt;/p&gt;
&lt;p&gt;Small setups can use pure peer mode. When you have many devices, a NAS, or an always-on host, star topology is usually better. Let the NAS act as the central node and introducer, and let other devices connect only to it. Management becomes much simpler.&lt;/p&gt;
&lt;p&gt;The real questions are which devices you trust, which folders need to sync, where data originates, and which device should keep versions after accidental deletion. Topology is just the method. Data flow is the core of the configuration.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Deploy Syncthing with Docker: Compose, Ports, and Volume Mapping Pitfalls</title>
        <link>https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/</link>
        <pubDate>Sun, 31 May 2026 12:12:05 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/</guid>
        <description>&lt;h2 id=&#34;syncthing-series&#34;&gt;Syncthing Series
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/&#34; &gt;How to Use Syncthing: Practical Notes from Device Pairing to File Sync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/&#34; &gt;Deploy Syncthing with Docker: Compose, Ports, and Volume Mapping Pitfalls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/&#34; &gt;How to Configure Syncthing for Multiple Devices: Peer Networks, Star Topology, and Introducers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/&#34; &gt;How to Use Syncthing on Android: Syncthing-Fork Setup and Photo Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/&#34; &gt;How to Manage Multiple Devices and Folders in Syncthing: Topology, Naming, and Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/&#34; &gt;How to Sync iPhone Photos to a Computer or NAS with Syncthing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deploying Syncthing in Docker is a good fit for a NAS, a home server, or a VPS. It can act as an always-on sync node for photos, documents, Markdown notes, or download folders.&lt;/p&gt;
&lt;p&gt;The important part of a Docker-based Syncthing setup is not merely whether the container starts. The real questions are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;whether the configuration directory is persistent;&lt;/li&gt;
&lt;li&gt;whether the data folders you want to sync are mapped into the container;&lt;/li&gt;
&lt;li&gt;whether ports and permissions are prepared in advance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If these details are not handled well, a container update may wipe your configuration, the path you enter in the Web UI may not point to the real host folder, or sync tasks may fail with &lt;code&gt;Permission denied&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;directory-planning&#34;&gt;Directory Planning
&lt;/h2&gt;&lt;p&gt;Start by creating a dedicated directory on the server or NAS, for example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/syncthing
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/syncthing
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Put &lt;code&gt;docker-compose.yml&lt;/code&gt; in this directory, and keep Syncthing&amp;rsquo;s configuration in a subdirectory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;syncthing/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── docker-compose.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── config/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The actual sync data can live in existing host paths, for example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/downloads
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Keep the configuration directory separate from the data directories. &lt;code&gt;config&lt;/code&gt; stores Syncthing&amp;rsquo;s own configuration, keys, and index database. Folders such as &lt;code&gt;downloads&lt;/code&gt; and &lt;code&gt;photos&lt;/code&gt; are the actual data you want to sync.&lt;/p&gt;
&lt;h2 id=&#34;option-1-docker-compose&#34;&gt;Option 1: Docker Compose
&lt;/h2&gt;&lt;p&gt;Docker Compose is the recommended approach because updates, restarts, and migrations are easier to understand later.&lt;/p&gt;
&lt;p&gt;Create &lt;code&gt;~/syncthing/docker-compose.yml&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;3&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;services&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;syncthing&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;syncthing/syncthing:latest&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;container_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;syncthing&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;my-nas-syncthing&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;PUID=1000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;PGID=1000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;TZ=Asia/Shanghai&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;volumes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;./config:/var/syncthing/config&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;/volume1/downloads:/var/syncthing/downloads&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;/volume1/photos:/var/syncthing/photos&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ports&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;8384&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;8384&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;22000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;22000&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/tcp&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;22000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;22000&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/udp&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;21027&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;21027&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/udp&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;restart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;unless-stopped&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Start it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Check the status:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose ps
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f syncthing
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Open the Web UI:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://server-ip:8384
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After the first login, set a GUI username and password first.&lt;/p&gt;
&lt;h2 id=&#34;option-2-docker-run&#34;&gt;Option 2: docker run
&lt;/h2&gt;&lt;p&gt;For quick testing, you can also start Syncthing directly with &lt;code&gt;docker run&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name syncthing &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --hostname my-nas-syncthing &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;PUID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;PGID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;TZ&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Asia/Shanghai &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 8384:8384 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 22000:22000/tcp &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 22000:22000/udp &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 21027:21027/udp &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v /path/to/config:/var/syncthing/config &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v /path/to/data1:/var/syncthing/data1 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --restart unless-stopped &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  syncthing/syncthing:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Replace &lt;code&gt;/path/to/config&lt;/code&gt; and &lt;code&gt;/path/to/data1&lt;/code&gt; with real host paths.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /volume1/docker/syncthing/config:/var/syncthing/config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /volume1/photos:/var/syncthing/photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For long-term use, convert this into a Compose file so you do not need to rebuild the full command every time the container is recreated.&lt;/p&gt;
&lt;h2 id=&#34;container-paths-and-host-paths&#34;&gt;Container Paths and Host Paths
&lt;/h2&gt;&lt;p&gt;Docker beginners often get confused by paths.&lt;/p&gt;
&lt;p&gt;For example, this volume mapping:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;volumes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;/volume1/photos:/var/syncthing/photos&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The left side, &lt;code&gt;/volume1/photos&lt;/code&gt;, is the host path. The right side, &lt;code&gt;/var/syncthing/photos&lt;/code&gt;, is the path inside the container.&lt;/p&gt;
&lt;p&gt;When adding a sync folder in the Syncthing Web UI, the folder path must be the container path:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/var/syncthing/photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That way Syncthing is actually operating on this host directory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you enter &lt;code&gt;/volume1/photos&lt;/code&gt; in the Web UI, that path usually does not exist inside the container. Syncthing may report an error, or it may create a new directory inside the container filesystem that you did not intend to use.&lt;/p&gt;
&lt;h2 id=&#34;persist-the-configuration-directory&#34;&gt;Persist the Configuration Directory
&lt;/h2&gt;&lt;p&gt;This line is critical:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- &lt;span class=&#34;l&#34;&gt;./config:/var/syncthing/config&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Syncthing stores its configuration files, device keys, and index database in the configuration directory. If this directory is not mounted to the host, deleting or recreating the container may change the device ID and invalidate existing device pairings.&lt;/p&gt;
&lt;p&gt;Use a stable host path such as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/docker/syncthing/config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Do not put the configuration directory in a temporary location, and do not mix it with the actual sync data directories.&lt;/p&gt;
&lt;h2 id=&#34;ports-and-firewalls&#34;&gt;Ports and Firewalls
&lt;/h2&gt;&lt;p&gt;Common ports are:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8384/TCP   Web UI administration
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;22000/TCP Device sync traffic
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;22000/UDP QUIC sync traffic
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;21027/UDP Local discovery
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If Syncthing runs on a home NAS, usually check:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;whether the NAS firewall allows these ports;&lt;/li&gt;
&lt;li&gt;whether Docker bridge port mapping is correct;&lt;/li&gt;
&lt;li&gt;whether the router isolates Wi-Fi from wired devices;&lt;/li&gt;
&lt;li&gt;whether the phone and computer are on the same subnet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If Syncthing runs on a cloud server, also check the cloud provider&amp;rsquo;s security group. In particular, if &lt;code&gt;22000/TCP&lt;/code&gt; and &lt;code&gt;22000/UDP&lt;/code&gt; are not allowed, other devices may only connect through a relay, and the speed will be much slower.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;8384&lt;/code&gt; is the administration port. Do not expose it directly to the public internet. If remote administration is necessary, at least set a strong password, and preferably combine it with a reverse proxy, HTTPS, access control, or a VPN.&lt;/p&gt;
&lt;h2 id=&#34;permission-issues-puid-and-pgid&#34;&gt;Permission Issues: PUID and PGID
&lt;/h2&gt;&lt;p&gt;If Syncthing starts and the Web UI is accessible, but a sync folder reports:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Permission denied
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;the container process usually does not have read/write permission on the host directory.&lt;/p&gt;
&lt;p&gt;Check the UID and GID of the current user on the host:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;id
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The output may look like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid=1000(user) gid=1000(user) groups=1000(user)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then set the corresponding values in Compose:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;PUID=1000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;PGID=1000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Also confirm that the host directory itself allows this user to read and write:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -ld /volume1/photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If necessary, adjust the owner or permissions:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chown -R 1000:1000 /volume1/photos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On a NAS, do not blindly run recursive permission changes on an entire shared directory, especially if it is shared by multiple users. A safer approach is to prepare a dedicated sync directory for Syncthing, or grant the corresponding user access from the NAS permission management interface.&lt;/p&gt;
&lt;h2 id=&#34;first-time-web-ui-security&#34;&gt;First-Time Web UI Security
&lt;/h2&gt;&lt;p&gt;After the container starts, visit:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://server-ip:8384
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On the first visit, Syncthing usually prompts you to set a GUI username and password. Do not skip this step.&lt;/p&gt;
&lt;p&gt;Recommended practice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;set a GUI username and strong password immediately;&lt;/li&gt;
&lt;li&gt;do not expose &lt;code&gt;8384&lt;/code&gt; to the public internet;&lt;/li&gt;
&lt;li&gt;use a VPN, SSH tunnel, or controlled reverse proxy for remote access;&lt;/li&gt;
&lt;li&gt;if using a reverse proxy, proxy only the Web UI and do not accidentally expose unnecessary ports.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If someone else controls the administration interface, they may be able to add devices, modify shared folders, and change sync relationships. Syncthing encrypts data in transit, but the administration entry point still needs protection.&lt;/p&gt;
&lt;h2 id=&#34;add-sync-folders-in-the-web-ui&#34;&gt;Add Sync Folders in the Web UI
&lt;/h2&gt;&lt;p&gt;Take a photo directory as an example. The Compose file already mounts:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- &lt;span class=&#34;l&#34;&gt;/volume1/photos:/var/syncthing/photos&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When adding the folder in the Web UI:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Folder Label: you can use &lt;code&gt;Photos&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Folder ID: use a stable English ID such as &lt;code&gt;photos&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Folder Path: enter &lt;code&gt;/var/syncthing/photos&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Sharing: choose the devices that should receive this folder;&lt;/li&gt;
&lt;li&gt;Folder Type: choose &lt;code&gt;Send &amp;amp; Receive&lt;/code&gt;, &lt;code&gt;Send Only&lt;/code&gt;, or &lt;code&gt;Receive Only&lt;/code&gt; based on the data flow.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If this Docker node is the central NAS node, common choices are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;regular documents: &lt;code&gt;Send &amp;amp; Receive&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;phone photo collection: &lt;code&gt;Receive Only&lt;/code&gt; on the NAS;&lt;/li&gt;
&lt;li&gt;outbound distribution folder: &lt;code&gt;Send Only&lt;/code&gt; on the NAS.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Choose based on the intended direction of the data. Do not set every folder to bidirectional sync without thinking.&lt;/p&gt;
&lt;h2 id=&#34;update-the-container&#34;&gt;Update the Container
&lt;/h2&gt;&lt;p&gt;With Compose, updates are usually:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose pull
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As long as the configuration directory and data directories are mounted correctly, updating the container will not lose the device ID, pairings, or sync folder configuration.&lt;/p&gt;
&lt;p&gt;Before updating, you can back up the configuration directory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar -czf syncthing-config-backup.tar.gz ./config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The configuration directory contains device private keys. Do not upload the backup casually to a public location.&lt;/p&gt;
&lt;h2 id=&#34;common-issues&#34;&gt;Common Issues
&lt;/h2&gt;&lt;h3 id=&#34;web-ui-does-not-open&#34;&gt;Web UI Does Not Open
&lt;/h3&gt;&lt;p&gt;First check whether the container is running:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker ps
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs syncthing
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then check port mappings:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker port syncthing
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If the container is healthy but the page still does not open, check the host firewall, NAS firewall, or cloud security group.&lt;/p&gt;
&lt;h3 id=&#34;folder-does-not-exist-after-adding-it&#34;&gt;Folder Does Not Exist After Adding It
&lt;/h3&gt;&lt;p&gt;Check whether the path entered in the Web UI is the container path.&lt;/p&gt;
&lt;p&gt;For example, if the host path is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/downloads
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;and the container path is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/var/syncthing/downloads
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;the Web UI should use the latter.&lt;/p&gt;
&lt;h3 id=&#34;only-relay-connections-very-slow&#34;&gt;Only Relay Connections, Very Slow
&lt;/h3&gt;&lt;p&gt;Check first:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;whether &lt;code&gt;22000/TCP&lt;/code&gt; is allowed;&lt;/li&gt;
&lt;li&gt;whether &lt;code&gt;22000/UDP&lt;/code&gt; is allowed;&lt;/li&gt;
&lt;li&gt;whether router port forwarding is correct;&lt;/li&gt;
&lt;li&gt;whether the cloud security group allows both TCP and UDP;&lt;/li&gt;
&lt;li&gt;whether the local firewall blocks Docker&amp;rsquo;s mapped ports.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Relays improve reachability, but they are not suitable for long-term heavy sync traffic.&lt;/p&gt;
&lt;h3 id=&#34;file-permissions-are-wrong-after-sync&#34;&gt;File Permissions Are Wrong After Sync
&lt;/h3&gt;&lt;p&gt;First confirm that the container user is correct, then check the host directory permissions. Linux, NAS, and Windows shared folders have different permission models. Do not treat Syncthing as a permission repair tool.&lt;/p&gt;
&lt;p&gt;For cross-system sync, try to sync ordinary files and directories. Avoid syncing system folders that depend on complex ACLs, ownership, or extended attributes.&lt;/p&gt;
&lt;h2 id=&#34;a-more-stable-setup&#34;&gt;A More Stable Setup
&lt;/h2&gt;&lt;p&gt;If your goal is to use a NAS or server as the central node, design it like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run Syncthing with Docker on the NAS.&lt;/li&gt;
&lt;li&gt;Mount the configuration directory to &lt;code&gt;/volume1/docker/syncthing/config&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Mount each data category separately, for example &lt;code&gt;/volume1/photos&lt;/code&gt; and &lt;code&gt;/volume1/notes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add the NAS device ID from phones and computers.&lt;/li&gt;
&lt;li&gt;Enable file versioning on important folders on the NAS side.&lt;/li&gt;
&lt;li&gt;Keep the Web UI accessible only on the LAN or through a VPN.&lt;/li&gt;
&lt;li&gt;Back up the NAS independently. Do not treat sync as the only backup.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In this setup, Syncthing handles device-to-device synchronization, the NAS provides always-on availability and version buffering, and real backup is still handled by snapshots, external disks, or off-site backups.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;The key to deploying Syncthing with Docker is separating the container lifecycle from the sync data lifecycle.&lt;/p&gt;
&lt;p&gt;The container can be updated, recreated, or migrated at any time. The configuration directory and data directories, however, must remain stable on the host. Use container paths in the Web UI, handle host permissions with &lt;code&gt;PUID&lt;/code&gt;, &lt;code&gt;PGID&lt;/code&gt;, and directory access rules, and open ports according to the actual network environment.&lt;/p&gt;
&lt;p&gt;Once these pieces are clear, Syncthing works very well as a lightweight sync layer between a NAS, a server, and personal devices.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>How to Use Syncthing: Practical Notes from Device Pairing to File Sync</title>
        <link>https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/</link>
        <pubDate>Sun, 31 May 2026 11:59:09 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/</guid>
        <description>&lt;h2 id=&#34;syncthing-series&#34;&gt;Syncthing Series
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-file-sync-practical-notes/&#34; &gt;How to Use Syncthing: Practical Notes from Device Pairing to File Sync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-docker-deploy-guide/&#34; &gt;Deploying Syncthing with Docker: Compose, Ports, and Volume Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-topology-guide/&#34; &gt;How to Configure Syncthing Across Multiple Devices: Mesh, Star Topology, and Introducers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-android-fork-setup-guide/&#34; &gt;Using Syncthing on Android: Syncthing-Fork Setup and Photo Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-multi-device-folder-management/&#34; &gt;Managing Syncthing Across Many Devices and Folders: Topology, Naming, and Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/en/2026/05/31/syncthing-iphone-photo-backup/&#34; &gt;How to Sync iPhone Photos to a Computer or NAS with Syncthing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Syncthing is well suited for peer-to-peer file synchronization between multiple devices. It is not a traditional cloud drive, and it does not first upload all data to a central server before downloading it elsewhere. Instead, authorized devices exchange files directly.&lt;/p&gt;
&lt;p&gt;If you are considering it for Markdown notes, photo backup, configuration files, or a home NAS directory, the first question is not just whether it can sync. You should first understand devices, folders, device IDs, sync direction, discovery, and conflict handling.&lt;/p&gt;
&lt;h2 id=&#34;what-syncthing-solves&#34;&gt;What Syncthing Solves
&lt;/h2&gt;&lt;p&gt;Syncthing is designed for one core scenario: you have two or more devices and want a directory to stay consistent across them.&lt;/p&gt;
&lt;p&gt;Typical examples include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Syncing work files between a Windows desktop and laptop.&lt;/li&gt;
&lt;li&gt;Syncing photos or documents between a phone and NAS.&lt;/li&gt;
&lt;li&gt;Syncing small scripts, examples, or configuration notes between Linux servers.&lt;/li&gt;
&lt;li&gt;Keeping Obsidian notes, Joplin attachments, or Markdown folders available on several devices.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is better for cases where you control the devices and the data. If you need team permissions, web previews, sharing links, or collaborative editing, a conventional cloud drive or document platform may fit better.&lt;/p&gt;
&lt;h2 id=&#34;what-happens-on-first-start&#34;&gt;What Happens on First Start
&lt;/h2&gt;&lt;p&gt;The official getting started guide suggests configuring two machines side by side. In Syncthing, each machine is a device. The machine you are configuring is the local device, while the other machine is a remote device.&lt;/p&gt;
&lt;p&gt;On first start, Syncthing creates its configuration, cryptographic keys, and device ID. It also opens the local Web GUI by default:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://127.0.0.1:8384/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The Web GUI is the everyday configuration interface. Syncthing may also create a default folder, usually a &lt;code&gt;Sync&lt;/code&gt; directory under your user profile. You can use it for testing, or remove it later and add your own folders.&lt;/p&gt;
&lt;h2 id=&#34;device-id-is-the-basis-of-pairing&#34;&gt;Device ID Is the Basis of Pairing
&lt;/h2&gt;&lt;p&gt;Syncthing pairs devices through device IDs.&lt;/p&gt;
&lt;p&gt;Each device creates its own key on first start. The device ID is a readable fingerprint of that device certificate. Two devices only establish a sync relationship after they have added each other&amp;rsquo;s device ID.&lt;/p&gt;
&lt;p&gt;A typical flow is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Start Syncthing on both devices.&lt;/li&gt;
&lt;li&gt;Open the Web GUI on both sides.&lt;/li&gt;
&lt;li&gt;Add device B&amp;rsquo;s device ID on device A.&lt;/li&gt;
&lt;li&gt;Add device A&amp;rsquo;s device ID on device B.&lt;/li&gt;
&lt;li&gt;Choose which folders to share.&lt;/li&gt;
&lt;li&gt;Save and wait for the connection.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The device ID does not need to be protected like a password, but you should not publish your sync topology unnecessarily. The things that really need protection are the device private key, Web GUI access, and the synced folders themselves.&lt;/p&gt;
&lt;h2 id=&#34;syncthing-does-not-sync-the-whole-machine&#34;&gt;Syncthing Does Not Sync the Whole Machine
&lt;/h2&gt;&lt;p&gt;Syncthing only syncs folders that you explicitly add. It does not sync an entire device by default.&lt;/p&gt;
&lt;p&gt;Each folder has its own path, ID, shared devices, and folder type. It is usually better to separate folders by purpose:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;notes/&lt;/code&gt;: Markdown notes.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;photos-inbox/&lt;/code&gt;: phone photo intake.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docs/&lt;/code&gt;: documents shared across devices.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/&lt;/code&gt;: scripts and configuration examples.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Do not start by syncing huge system directories, download directories, or mixed folders. The more complex the directory, the more likely conflicts, ignore rules, permissions, and scan cost will become long-term problems.&lt;/p&gt;
&lt;h2 id=&#34;three-common-folder-types&#34;&gt;Three Common Folder Types
&lt;/h2&gt;&lt;p&gt;The official documentation explains folder types clearly. In practice, you mainly need to understand these three.&lt;/p&gt;
&lt;h3 id=&#34;send--receive&#34;&gt;Send &amp;amp; Receive
&lt;/h3&gt;&lt;p&gt;This is the default mode. The folder sends local changes and receives remote changes.&lt;/p&gt;
&lt;p&gt;It fits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editing notes across several devices.&lt;/li&gt;
&lt;li&gt;Maintaining documents on multiple devices.&lt;/li&gt;
&lt;li&gt;Normal two-way synchronization.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If two devices modify the same file at the same time, Syncthing creates a conflict file instead of silently overwriting one side.&lt;/p&gt;
&lt;h3 id=&#34;send-only&#34;&gt;Send Only
&lt;/h3&gt;&lt;p&gt;This mode treats the local folder as the reference copy. It sends changes to other devices, but does not apply changes from them.&lt;/p&gt;
&lt;p&gt;It fits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A primary device distributing files to backup devices.&lt;/li&gt;
&lt;li&gt;Cases where one machine should be authoritative.&lt;/li&gt;
&lt;li&gt;Situations where remote changes should not affect the local folder.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If remote changes appear, the local device may show the folder as out of sync. The Web GUI can then offer &lt;code&gt;Override Changes&lt;/code&gt;, which pushes the local state to the rest of the cluster. Use that button carefully.&lt;/p&gt;
&lt;h3 id=&#34;receive-only&#34;&gt;Receive Only
&lt;/h3&gt;&lt;p&gt;This is the opposite of Send Only. The folder receives cluster changes, but local changes are not sent to other devices.&lt;/p&gt;
&lt;p&gt;It fits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backup targets.&lt;/li&gt;
&lt;li&gt;Read-only mirrors.&lt;/li&gt;
&lt;li&gt;Devices where local mistakes should not pollute the main sync set.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If local changes appear, the Web GUI may offer &lt;code&gt;Revert Local Changes&lt;/code&gt; to return the folder to the cluster state.&lt;/p&gt;
&lt;h2 id=&#34;check-firewall-and-ports-first&#34;&gt;Check Firewall and Ports First
&lt;/h2&gt;&lt;p&gt;Syncthing can use discovery, NAT traversal, and relays, but connections are more stable when the network is understood.&lt;/p&gt;
&lt;p&gt;The important ports listed in the official firewall guide are:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;22000/TCP
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;22000/UDP
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;21027/UDP
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;22000/TCP&lt;/code&gt; is used for TCP sync traffic.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;22000/UDP&lt;/code&gt; is used for QUIC sync traffic.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;21027/UDP&lt;/code&gt; is used for local discovery.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If devices are on the same LAN but cannot discover each other, first check local firewalls, router isolation, and whether Wi-Fi and wired networks are on different segments.&lt;/p&gt;
&lt;p&gt;Across the internet or NAT, direct connections are usually faster than relays when port forwarding is possible. Without port forwarding, relays can still help devices connect, but performance is often worse.&lt;/p&gt;
&lt;p&gt;On Linux with &lt;code&gt;ufw&lt;/code&gt; and the corresponding application profile installed, you can use:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw allow syncthing
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw status verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The Web GUI listens on &lt;code&gt;127.0.0.1:8384&lt;/code&gt; by default. If you change it to &lt;code&gt;0.0.0.0:8384&lt;/code&gt;, the management interface becomes reachable from outside the machine. At that point you must think about passwords, HTTPS, reverse proxies, or SSH tunnels. For home use, an SSH tunnel is usually safer.&lt;/p&gt;
&lt;h2 id=&#34;stignore-belongs-in-the-sync-root&#34;&gt;&lt;code&gt;.stignore&lt;/code&gt; Belongs in the Sync Root
&lt;/h2&gt;&lt;p&gt;If some files should not sync, create a &lt;code&gt;.stignore&lt;/code&gt; file in the root of the synced folder.&lt;/p&gt;
&lt;p&gt;Important details:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.stignore&lt;/code&gt; must be in the root of the synced folder.&lt;/li&gt;
&lt;li&gt;Rules are relative to that root.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.stignore&lt;/code&gt; itself is not synced to other devices.&lt;/li&gt;
&lt;li&gt;The file should use UTF-8.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A simple example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(?d).DS_Store
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node_modules
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*.tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cache/**
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;!/cache/keep.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;(?d)&lt;/code&gt; means Syncthing may delete those ignored files when they would otherwise prevent a directory deletion. It is useful for generated files such as &lt;code&gt;.DS_Store&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The exclamation mark &lt;code&gt;!&lt;/code&gt; negates a rule and includes a file again. Complex negative rules can make Syncthing scan directories that would otherwise be ignored, so start with simple patterns.&lt;/p&gt;
&lt;h2 id=&#34;file-versioning-is-not-local-undo&#34;&gt;File Versioning Is Not Local Undo
&lt;/h2&gt;&lt;p&gt;Syncthing supports file versioning, but its meaning is easy to misunderstand.&lt;/p&gt;
&lt;p&gt;The official documentation emphasizes that versioning stores the old local version when a remote change replaces it. If B modifies a file and syncs it to A, A can keep the replaced version. But if A edits a file locally, Syncthing cannot preserve A&amp;rsquo;s previous version before the edit.&lt;/p&gt;
&lt;p&gt;Common versioning strategies include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trash Can File Versioning: move replaced or deleted files into &lt;code&gt;.stversions&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Simple File Versioning: keep a fixed number of versions.&lt;/li&gt;
&lt;li&gt;Staggered File Versioning: keep dense recent versions and sparser older versions.&lt;/li&gt;
&lt;li&gt;External File Versioning: hand version handling to a script.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For important documents, enable at least simple or trash-can versioning on the backup target. It is not a full backup system, but it reduces the damage from accidental deletion or overwrite.&lt;/p&gt;
&lt;h2 id=&#34;how-conflicts-happen&#34;&gt;How Conflicts Happen
&lt;/h2&gt;&lt;p&gt;Syncthing detects conflicts. If two devices change the same file differently at the same time, it may create a conflict file such as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;filename.sync-conflict-date-time-modifiedBy.ext
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This is safer than silent overwrite, but you still need to clean up conflict files.&lt;/p&gt;
&lt;p&gt;Common conflict sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Opening the same Markdown note on multiple devices at once.&lt;/li&gt;
&lt;li&gt;Applications automatically writing the same state file.&lt;/li&gt;
&lt;li&gt;Syncing device-specific files such as &lt;code&gt;.obsidian/workspace.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Case-sensitive and case-insensitive filename differences across Windows, macOS, and Android.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For notes, sync the text, attachments, and templates first. Be careful with workspace state, caches, and plugin temporary files; put them in &lt;code&gt;.stignore&lt;/code&gt; when needed.&lt;/p&gt;
&lt;h2 id=&#34;security-boundaries&#34;&gt;Security Boundaries
&lt;/h2&gt;&lt;p&gt;One of Syncthing&amp;rsquo;s security goals is that unauthorized devices cannot join the sync cluster and passive observers cannot read file contents in transit.&lt;/p&gt;
&lt;p&gt;The security documentation explains that traffic between devices is protected by TLS, and peers verify that the device certificate fingerprint is in the allowed list. In practice, devices only sync after both sides are configured with the correct device IDs.&lt;/p&gt;
&lt;p&gt;That does not mean Syncthing usage is invisible:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Global discovery announces device IDs and listening addresses.&lt;/li&gt;
&lt;li&gt;Local discovery broadcasts on the LAN.&lt;/li&gt;
&lt;li&gt;Relay servers can see device IDs, though they cannot decrypt synced data.&lt;/li&gt;
&lt;li&gt;An exposed Web GUI reveals that the machine is running Syncthing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Practical security advice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do not expose the Web GUI to the public internet unless authentication and encryption are properly configured.&lt;/li&gt;
&lt;li&gt;Only add devices you trust.&lt;/li&gt;
&lt;li&gt;Use disk encryption or separate backups for important folders.&lt;/li&gt;
&lt;li&gt;Disable global discovery, relays, or auto-upgrade if your environment requires it, while accepting the loss of convenience.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;untrusted-encrypted-devices&#34;&gt;Untrusted Encrypted Devices
&lt;/h2&gt;&lt;p&gt;Syncthing also supports untrusted encrypted devices. This lets an untrusted device store encrypted data only.&lt;/p&gt;
&lt;p&gt;A typical use case is a cloud server or external machine that participates in sync or backup but should not see plaintext. Trusted devices encrypt data with a folder password before sending it; other trusted devices with the same password can sync and decrypt it.&lt;/p&gt;
&lt;p&gt;The official documentation still treats this feature as beta/testing. It is useful for specific needs, but not the simplest starting point.&lt;/p&gt;
&lt;p&gt;Remember:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;File data, names, timestamps, hashes, and directory structure are protected.&lt;/li&gt;
&lt;li&gt;Folder ID, label, and approximate file sizes are not fully hidden.&lt;/li&gt;
&lt;li&gt;The password and folder ID must be kept safely.&lt;/li&gt;
&lt;li&gt;The folder type on the untrusted device should be &lt;code&gt;Receive Encrypted&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a normal home NAS, your own computers, and phones, trusted-device sync plus system login security, disk encryption, and backups is usually easier to maintain.&lt;/p&gt;
&lt;h2 id=&#34;practical-configuration-advice&#34;&gt;Practical Configuration Advice
&lt;/h2&gt;&lt;p&gt;If you plan to use Syncthing for notes or documents long term:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create separate folders by data type. Do not use one giant mixed folder.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;Send &amp;amp; Receive&lt;/code&gt; on primary computers.&lt;/li&gt;
&lt;li&gt;Consider &lt;code&gt;Receive Only&lt;/code&gt; plus file versioning on a NAS or backup machine.&lt;/li&gt;
&lt;li&gt;On phones, sync only the directories you need.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;.stignore&lt;/code&gt; for caches, temporary files, and workspace state.&lt;/li&gt;
&lt;li&gt;Make sure &lt;code&gt;22000/TCP&lt;/code&gt;, &lt;code&gt;22000/UDP&lt;/code&gt;, and &lt;code&gt;21027/UDP&lt;/code&gt; work on the LAN.&lt;/li&gt;
&lt;li&gt;Keep the Web GUI local when possible; use SSH tunnels or VPN for remote access.&lt;/li&gt;
&lt;li&gt;Do not treat sync as the only backup for important data.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;where-syncthing-fits&#34;&gt;Where Syncthing Fits
&lt;/h2&gt;&lt;p&gt;Syncthing is a good fit if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You want data to stay mainly on your own devices.&lt;/li&gt;
&lt;li&gt;You can understand device pairing, folders, and conflict handling.&lt;/li&gt;
&lt;li&gt;You have a NAS, home server, or multiple personal devices.&lt;/li&gt;
&lt;li&gt;You want to sync Markdown, photo intake folders, scripts, or lightweight documents.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is not ideal if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You need collaborative online editing.&lt;/li&gt;
&lt;li&gt;You need web previews and sharing links.&lt;/li&gt;
&lt;li&gt;You need fine-grained team permissions.&lt;/li&gt;
&lt;li&gt;You do not want to deal with network, firewall, or conflict issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is best understood as a reliable device-to-device sync layer, not a full cloud-drive product. Used well, it can connect a NAS, computers, and phones into a controllable personal data network. Used casually, it can become a maintenance burden through conflicts, accidental deletion, ignore rules, and network quirks.&lt;/p&gt;
&lt;h2 id=&#34;references&#34;&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Syncthing Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/intro/getting-started.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/config.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Syncthing Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/foldertypes.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Folder Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/firewall.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Firewall Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/ignoring.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ignoring Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/versioning.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;File Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/syncing.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Understanding Synchronization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/security.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Security Principles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.syncthing.net/users/untrusted.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Untrusted (Encrypted) Devices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
