File Sync & Backup Tools (FreeFileSync TrueNAS SyncThing Synolog QNap NAS)
Synology Drive 式手机远程检索 2026-10 #
需求:手机浏览器/APP → 远程访问 → 搜索 3TB NAS 文件 → 点击结果 → 下载文件,NAS 本身不承担搜索服务;搜索服务独立运行,最好 Container。
| 方案 | 手机浏览器 | 搜索文件名 | 全文搜索 | 点击下载 | 直接读现有 NAS | Docker | 资源 | 运维 | 推荐 | 最低硬件下限 |
|---|---|---|---|---|---|---|---|---|---|---|
| FileBrowser Quantum | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | 低 | 低 | ★★★★★ | 2U2G |
| FileRun | ✅ | ✅ | ✅ | ✅ | ✅/需规划 | ✅ | 中~高 | 中 | ★★★★☆ | 4U8G (建议 16G) |
| Kintara | ✅ PWA | ✅ | ✅ | ✅ | ✅ | ✅ | 低~中 | 低 | ★★★★☆ | |
| Recoll + 文件服务 | ✅ | ✅ | ✅✅ | ✅ | ✅ | 可 | 低~中 | 中 | ★★★★☆ | 2U2G+ 文件服务 |
| Nextcloud + FTS | ✅ App/Web | ✅ | ✅ | ✅ | ⚠️ | ✅ | 高 | 高 | ★★★☆☆ | |
| Seafile + ES | ✅ | ✅ | ✅ | ✅ | ⚠️ | ✅ | 高 | 高 | ★★★☆☆ | |
| OpenSearch 自建 | ✅* | ✅ | ✅✅ | ✅* | ✅ | ✅ | 很高 | 很高 | ★★☆☆☆ |
- Recoll 的全文搜索很强,但原生 WebUI 的定位主要是“搜索”,远程文件打开/下载需要额外配置 URL 映射或另一个文件服务,因此单独拿它做手机端文件门户并不理想。官方/项目文档也明确说明,远程 WebUI 默认结果链接指向服务器上的物理路径,需要额外配置替换 URL。
- OpenSearch 本身不是手机文件管理器,需要再配 Web 前端/文件服务,所以这里不算真正的一体化方案。
- 【情境:文件名搜索、下载】如果“手机搜索 + 下载”是刚需,最先推荐 FileBrowser Quantum,它本质上就是一个轻量 Web 文件门户。Container 镜像 15MB,省资源,现有文件目录直接挂载给 FileBrowser 即可。搜索基于索引,仅首次建立时间较长,搜索结果直接点击下载。
- 提示:每次必须手动点开高级搜索,否则默认仅子字符串匹配(没有空格拆词 AND 逻辑)。
- 警告:每个搜索词必须至少包含 3 个字符/中文。
- 【情境:全文搜索】
- 选项 1. Recoll,基于 Web,可以与 FileBrowser Quantum 并行部署。
- 选项 2. Kintara, 监控已有文件夹, 针对全文搜索 (PDF,MarkdownT,XT,文档库)和浏览器阅读。
- 选项 3. Seafile,依赖 Elasticsearch。
- 选项 4. OpenSearch 依赖 Elasticsearch,JVM heap 最低 4G,一般 > 8G,建议 16GB 才能正常使用,32GB 才能舒适。
- 【情境:手机看文档】仅限 PDF / Markdown / text,支持 PDF + 搜 PDF 正文 + 下载/分享。优点:原生 PWA,而且直接支持 NAS 文件夹。
- 【全能成品】FileRun:文件名搜索, 元数据搜索, 全文搜索, 文件/文件夹下载, 多文件打包 ZIP, WebDAV, 手机访问。基于 Java +Apache Tika +Elasticsearch,需要 PHP + MySQL / MariaDB,建议 16GB RAM。
- 【多用户文件分享平台】Nextcloud + Full Text Search,还可以对接 Elasticsearch、Solr 、Redis 等,用于 私有云 / WebDAV / 多用户 / 文件分享平台。
资源与运维难度(★越多 = 越臃肿、难度越高):
| Tool | CPU | RAM | 索引空间 | 运维 |
|---|---|---|---|---|
| FileBrowser Quantum | ★ | ★ | ★ | ★ |
| Recoll | ★★ | ★ | ★★~★★★★ | ★★ |
| Kintara | ★★ | ★★ | ★★ | ★★ |
| FileRun | ★★★ | ★★★ | ★★★ | ★★★ |
| Nextcloud | ★★★ | ★★★★ | ★★★ | ★★★ |
| Seafile + ES | ★★★ | ★★★★ | ★★★ | ★★★ |
| OpenSearch 自建 | ★★★★ | ★★★★★ | ★★★★ | ★★★★★ |
Ref: by GPT.
Docker 部署 FileBrowser Quantum #
Synology Drive 式手机远程检索 2026-08 #
by Ox Alpha (GLM 5.3 FLASH)
| 工具 | 服务端索引机制 | 手机端能否原生搜索 | 全文内容搜索 | 按需下载/离线收藏 | 大陆公网访问 | 开源程度 | 匹配度 |
|---|---|---|---|---|---|---|---|
| Seafile | 有。CE 版 8.0 起内置文件名搜索 API [1];Pro 版基于 Elasticsearch 的全文搜索 | ✅ iOS App 曾缺失,已在客户端 3.0.9 修复 [2] | Pro 版支持(付费);CE 仅名称 | ✅ 支持离线同步 | 高(纯 HTTPS 自建) | CE 核心开源,Pro 闭源收费 | 9 |
| Nextcloud | 有。统一搜索框架(OCS API)[3] + WebDAV SEARCH(rfc5323)[4];装 fulltextsearch 后索引文件内容 [5] |
✅ 安卓/iOS App 均接入统一搜索 [3] | ✅ 需自建 Elasticsearch/Tesseract OCR,配置成本中高 | ✅ 支持标记离线 | 中高(需自行调优) | AGPL 完全开源 | 8.5 |
| Pydio Cells | 有。内置搜索引擎,官方宣传含 NLP 辅助搜索 [6] | ⚠️ 有官方 App [7],主打缓存与离线标记 [8],但搜索体验的公开反馈较少,建议实测 | ✅(Web 端强) | ✅ 可标记目录离线 [8] | 中高 | 核心开源(AGPL),企业版闭源 | 7.5 |
| 坚果云(Nutstore) | 有(商业 SaaS) | ✅ 安卓端持续迭代搜索功能,如“搜索结果显示文件的完整路径” [10]、“支持搜索仅预览权限的文件夹” [11] | ⚠️ 仅企业版/私有云版支持 [12] | ✅ 离线收藏是招牌功能 [13] | 很高(国内直连,免折腾) | 闭源 SaaS(企业可私有化部署) | 8.5 |
| 绿联 NAS(UGOS Pro) | 有,且是系统级索引:“每当搜索范围有新增文件或文件夹时,UGOS Pro 会自动为其创建索引” [14],“当有新文件添加、删除或修改时,索引会自动更新” [15] | ✅ 绿联云 App 文件管理含“智能搜索、筛选” [16] | 未查到明确证据 | ✅ App 内打开/下载/分享 [14] | 高(官方 P2P 打洞免配置 [17]) | 完全闭源,国产硬件 + 系统 | 7.5(新品待验证) |
| DS file(群晖自带,不装 Drive) | 无持久索引,实时遍历目录搜索 | ✅ 可直接搜 SMB 共享文件夹并下载 | ❌ | ✅ | 中高 | 闭源(随 DSM) | 6 |
| Syncthing | ❌ 架构上无中心索引 | ❌ 只能浏览已同步到本地的内容 | ❌ | 不适用(它本身就是全量同步) | 中高 | MPL-2.0 完全开源 | 1 |
NextCloud vs. Seafile vs. SyncThing (2026-06) #
| NextCloud | Seafile | SyncThing | |
|---|---|---|---|
| License | Open source | Open source/Enterprise License | Open source |
| Large file support | Yes | Yes | Yes |
| Centralized | Yes (CS Mode) | Yes (CS Mode) | No (P2P Mode) |
| Self-hosted | Yes | Yes | — |
| Server OS | Linux/Windows/MacOS | Linux/Windows | — |
| Docker Support | Yes | Yes | Yes |
| Language | PHP | C, Python | GO |
| Mobile Clients | iPhone/Android/Windows | iPhone/Android | Android |
| Desktop Clients | Mac/Windows/Linux | Mac/Windows/Linux | Mac/Windows/Linux |
| Single Sign-On | Yes | No | No |
| Sync local folder | Yes | Yes | Yes |
| LAN Synchronization | No | Yes | Yes |
| Multi-Tenant | No | Yes | No |
| File Versioning | Yes | Yes | Yes |
| Chat (Audio/Video/Text) | Yes | No | No |
| Calendar/Contact/Mail integration | Yes | Calendar and Contact | No |
| Active Directory Support | Yes | Yes | No |
| Online Office | Yes | In Pro. Version | No |
| File Locking | Yes | Yes | Yes |
| File Access Control | Yes | Yes | Yes |
- Cons (issues) of OwnCloud / Nextcloud: uploading big files in one time using HTTP is not a good choice; each WebDAV connection per file which is a bad practice for small files (10GB files requies 10 hours); 255 bytes per filename due to Linux (usually enought, better than Win).
- Pros of owncloud/nextcloud: it stores files in files.
- Cons (issues) of Seafile: stores in its own format, canNOT access files directly in OS.
- Pros of Seafile: fast; pro. version is free for 3 users including full-text document search (elasticsearch-based).
- OwnCloud supports diff sync, still NOT in nextcloud.
more about MAX_PATH: doc, nextcloud help. ssdnodes (bak1: 4systems.ru, bak2: ever)
SyncThing on Synology #
con: case sensitivity conflicts with windows, will not know which file wins.
use a docker container #
- install the docker package;
- pick a source image by seaching in “registry” (OFFICIAL distribution is recommended);
- modify settings & advanced settings as seen in this ref (bak), then lunch.
- auto-restart; shortcut on desktop > web > “http://<nas_ip>:8384”;
- volumes, e.g.: /config (for linuxserver.io), /var/syncthing (for official), /<other_data_folders>
- port-forwarding; PUID, PGID.
WARN:
- mount a Synology folder to “/config” (for linuxserver.io) or “/var/syncthing” (for official) as indicated by “Environment” -> $HOME, which is the configuration folder (also includes the default “Sync” folder);
- if only one Synology user will use SyncThing, please set PUID and PGID env. variables using that Synology user’s puid & puid, so root’s high priviledge is not needed. (note: an irrelated UID and GID is used by default and will cause permission problems).
- consider: add “(?d)” at the beginning of each ignore patterns/rules, so the ignored itmes will be deleted if ignored things are the only remaining things in a folder.
Tip:
- SyncThing file change watcher may complain about inotify limit. A solution to change it is here, but note that 1 watcher uses 1kB RAM, thus the Syncthing recommended 204800 uses 220M RAM (110M in 32bit sys);
- SyncThing (docker) uses about 0.8~1.2 GB RAM (excluding reserved virtual RAM for caching);
- timing a scan: a 800GB sized folder with 100k subfolders and 800k files take 8 minutes to scan in a laptop with i7-11800H @ 2.30GHz and a NVMe SSD.
use a community package (only for DSM < v7.)
#
First, add SynoCommunity to package source. Second, install SyncThing in package centre.
SyncThing Reset Password #
tip: apt version (1.18) is too low to do this.
sudo syncthing cli operations shutdown && sleep 3; ps auxf |grep sync
sudo syncthing generate --gui-password=myNewPassword --gui-user=newUserName
systemctl restart syncthing@$USER.service # use normal user instaed of root; this cmd should NOT pre-fix sudo
systemctl status [email protected]
SyncThing on Ubuntu Server 2204 #
if using Ubuntu repo #
(2025-05-11 1.18.0)
overview: Install the apt old version then replace the binary executable.
sudo apt-get install syncthing
goto download page: https://syncthing.net/downloads/ “Base Syncthing” > Linux > Intel/AMD (64‑bit) > right click to get link then wget in ubuntu; tar xvzf to folder, then:
sudo cp syncthing /usr/bin/syncthing
systemctl restart syncthing@$USER.service # use normal user instaed of root; this cmd should NOT pre-fix sudo
systemctl status [email protected]
if using syncthing.net repo #
(2025-05-11 1.29.6 [10.9 MB] very slow, 2 hours to install)
# Add the release PGP keys:
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
# Add the "stable" channel to your APT sources:
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
# Update and install syncthing:
sudo apt-get update
sudo apt-get install syncthing
ref official apt.syncthing.net ref atlantic.net
if remove syncthing official repo #
sudo rm /etc/apt/sources.list.d/syncthing.list
sudo apt update
SyncThing in TrueNAS (FreeNAS) Jail #
(the reason to use a container: SyncThing cannot support Synology DSM v7)
WARN: FreeBSD does NOT provide an easy way to limit jail resources (except legancy versions). As SyncThing may use a lot more than usual and cause TrueNAS (GUI & CLI) to be extremely slow (not due to CPU), users may need to limit the resources using FreeBSD CLI.
Install FreeNAS/TrueNAS (dual boot / mirrored boot is suggested) Install & Config TrueNAS SyncThing plugin
Tip: enabling pkg may be needed.
sed -i.bak 's/enabled: yes/enabled: no/' /usr/local/etc/pkg/repos/local.conf && \
sed -i.bak 's/enabled: no/enabled: yes/' /usr/local/etc/pkg/repos/FreeBSD.conf && \
pkg update &&\
pkg install -y cmdwatch
Note 1: -i: in-place replacing with backup file extention;
Note 2: For CN users (tsinghua does not have a FreeBSD mirror):
cat <<EOF > /usr/local/etc/pkg/repos/FreeBSD.conf
FreeBSD: {
url: "pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly",
}
EOF
Tip: pkg -vv | grep ABI | head -1 | tr -d ' '
SyncTrayzor in Windows #
Download from github.
When staring SyncTrayzor.exe, if a syncthing.exe exists in portable/data/, then this syncthing.exe will be used regardless its version.

If NO syncthing.exe exists in portable/data/, SyncTrayzor will copy its own syncthing.exe to ./data/ folder and use it. If an upgrade is needed, upgrade will be performed automatically.
If there is a newer online version (given NO upgrade is needed) compared to ./data/syncthing.exe, SyncTrayzor(?) will download the new version and replace.
ps: Downloaded SyncThingTrayzor (GUI version) portable .zip contains a kinda-new version of syncthing.exe, (as a backup(?) method if no syncthing.exe in ./data/ (?)) but not necessarily the latest.

SyncThing FAQ #
Q: Where is the GUI? A: localhost:8384
Q: What is the port number? A: if set to 80/443, it will automatically change to 22000.
Q: What is a “folder marker”? A: It is a hidden folder named “.stfolder” in the shared folder root which is created before the first sync. If it is missing, it could mean that the folder has been moved etc. It can be caused by remounting/ mount-point changing.
Issue: Windows SyncTrayzor (GUI version) ID conflicts with CLI Not exactly. The windows GUI version (SyncTrayzor) includes a CLI version which is intended to be lunched by the GUI (SyncTrayzor). It turns out that the origianl CLI version and the SyncTrayzor’s CLI version share the same device ID (and config), but the GUI (SyncTrayzor) uses another ID (and config).
Issue: Stuck in “Syncing” or “Out of Sync” even if the files are synced (i.e. working, but shows not working). Solution: none, a bug. ref: e.g., github issue. It is claimed to be fixed in 1.18.0, but I still got it in 1.18.2.
Issue: “unexpected device ID, expected … got …” in Remote Devices. Solution: restart the remote peer (e.g. the jail in NAS).
FreeFileSync #
Together with is RealTimeSync, this open source solution works well.
See: RealTimeSync
Pro: can handle long file/folder names; support SMB/mounted net. drive/SFTP/FTP/Google Drive; free; donate any for parallel and portable version. Con: file change monitorning is limited to OS notification (Win10 sends notification with an interval about 15s).
UGreen (绿联) NAS (nonprofessional) #
DH2100 provides remote access w/o speed limit (2022), but does not support Docker yet.
DISM++ #
It contains a lot of great tools and useful & handy system modification functions, including system backup.
Con: it can be used for system backup & reinstall, but not for real-time tasks such as file syncing.
Note: DISM is CLI tool developed by MicroSoft, but DISM++ is just using the name.
Iperius Backup (Free Version)
#
Paid version is needed to sync deletion.
Pros: can handle long path and filenames without any limit; support multiple destinations; support smb path and/or mounted partions from NAS as dest.; export/import backup configs; frequency (interval) can be 1 min.
Cons: versioning is not suitable for manual restore, so versioning should be done on NAS; canNOT avoid creating the root folder in the destination (bad news for sync).
Explaination of backup options for each destination: Op1 - “Always full backup”: always copy all files; Op2 - “First time full, then only new or changed files 保留一个完整备份然后使用新文件或修改后的文件 " (actually incremental/delta backups/transfers indeed, recommended and default): the 1st time will copy all files, later backups will (try to?) make copies inside the destination, only changes (including deletion) will be transferred, the result is always a full copy but only changed content is transferred; WARN: for “including deletion” (to delete dest. files if source deleted), multi versioning should be used (number of copies >= 2) and only available for newly created backups i.e. if number of versions reaches the MAX (e.g. 2), the oldest backup will be re-used so the previously deleted files are back … so, paid version is needed … Op3 - “Full backup + incremental copies 保留一个完整备份和几个增量副本 “: the 1st time will copy all files, later backups will compare with the previous backup and copy the new files and updated content (excluding deletion) and only those files/dirs are saved in the folder, which saves spaces. Op4 - “Full backup + differential copies 保留一个完整备份和几个差异副本 “: similar to op3, but the comparison is to compre current status with the last full backup.
Tip: make sure to clear the desination folder if backup type is changed, otherwise could cause some issues.
Other recommended tips:
- in the source options, uncheck “rebuild full path” (as we just want to “sync”).
- in the desination options, uncheck “use backup task name to create folders” (same reason as above).
- in the backup task options > advanced options > error and warning, check “no warning even if no files are copies” (no copy if no change); > files and folders, check “include hidden files” and “include sys. files”.
NextCloud #
(tested on TrueNAS + win10)
See also: ref NextCloud vs. OwnCloud (bak)
cons: max_path 255 due to php limit thus canNOT be avoid; need to reboot windows to install and uninstall the client; no delta sync.
pros: many plugins, including online office tools.
NextCloud on truenas tip: (to find php confi of trusted domain)
find / -name "config.php"
/mnt/<pool_name>/iocage/jails/<nextcloud_jail>/root/usr/local/www/nextcloud/config/config.php
Note: edit using nano, vim canNOT work inside the webpage.
WD Backup #
cons: long path/filename issue: it reports cannot backing up specific files, but indeeded backed up some of them while no clue how the software could pick very long names (260+), but just ignored the middle-long (~255) names.
pros: very nice and smooth user experience for beginners.
Note: WD officially says it is replaced by AcronisTrueImage for WD, but it failed to install. Also, Acronis is very big (~1GB installer).
Synology #
ports #
Synology Drive Client connects to Synology NAS via 2 ports: 6690 (file syncing/backup), 5000 (HTTP), and 5001 (HTTPS).
It is common that PC’s Drive usually use 6690 by default, mobile Drive APP connects to 5000/5001 by default. Other ports should be specified.
sync folder #
cd /volume1/homes/<user_name>/Drive/
make S.M.A.R.T. smart #
Storage Manager > HDD/SSD > Test Scheduler: edit the default “Auto S.M.A.R.T. Test” and set “S.M.A.R.T. Test Type” to “extended”.
snapshot replication app (file version control) #
Storage Manager > Volume > Action > Configure: set “Record file access time frequency” to “never”.
Next, open “Snapshot Replication” > Snapshots: select the folder to be time-machined (e.g. homes) and open “settings”: set settings (sunny recommended):
- Schedule > every 2 hours or daily snapshot at early morning
- Retention > advanced retention policy: 12, 6, 3, 3, 0.
- choose when to delete snapshots: e.g. several hours before taking
- Advanced > check “make snapshot visible”
user home (for drive client) #
Control Panel (with advanced) > User > Advanced > User Home > Enable user home service.
ups #
Control Panel (with advanced) > Hardware & Power > UPS
nfs #
//TODO
tips #
enable block expiration: #
Control Panel (with advanced) > Security -> Account -> Enable block expiration (e.g. x days).
Otherwise the file /temp/var/lib/synosmartblock/db.sqlite-wal may grow too big and eat all space which causes ““You cannot login to the system because the disk space is full.” [ref]
recycle emptying schedule: #
Control Panel > Shared Folder > Right click > Action > “Create recycle bin emptying schedule”.
pro #
global indexed search (Universal Search) includes Drives by default, can add other folders.
problem/cons #
CanNOT handle pathes/filenames longer than 255 (the same as OneDrive among others).
expand capacity by replace a disk #
(tested under the default SHR config)
Storage Manager > HDD > select a disk > Action > Deactivate.
Plug out the disk (alarm will occur), and plug in a new one.
Storage Manager > Storage pool > select the pool > Action > Repair.

It may take 2 days to restore a 10T drive.
expand capacity by inserting new disks #
Insert disks and add to an existing volume or create a new volume. Note that expanding will check parity consistancy, and the speed is influenced a lot by “RAID resync speed”, max speed ~2T/day.
migrate to a new synology #
Many migration pathes are available ref (bak).
direct disk moving: #
Before powering off the old:
- Check the compatibility;
- Make sure both stations are in the supported models list;
- Update the old station & write down the DSM version (i did not upgrade the major version as it is kinda beta).
- Backup settings.
After plugging in the new:
- Boot without disks so the system can boot (also, now it is possible to make IP static).
- Go to the IP in a desktop browser and it asks to insert disks and “reconnect”.
- Insert disks with the same slot order as on the old station.
- “Reconnect”
- “Manual Installation” when asked.
- Use the same DSM version (update version, if any) to install.
- It takes seconds to install (cuz already installed the same version).
- It will detect the old system and ask if to migrate.
- Select migrate (keep settings by default).
- “Manual Installation” again when asked.
- It takes 10 minutes to install.
- Create a new user (i created the same, but whatever, will be restored).
- Login and install needed packages.
- Restore settings, select “overwrite when conflicts”, re-login.
- Config other settings that not backed-up, e.g. UPS
QNap #
sync folder #
cd /share/homes/<user_name>/.Qsync
pro: can handle long path/filenames.
problem/con:
- Mobile to NAS connection via Internet (relay?) is extremely slow (slow enough that always trying to avoid), while both Synology and UGreen are fast;
- global indexed search is very expensive and is an annual subscription (Synology is free), while non-indexed global search is disgusting.
Sync Between Synology and QNap #
RAID on Ubuntu #
Install OS & RAID at the same time (note: no nested 1+0 or 5+0 ). Using mdadm after installing OS. 5295c230c0b99)]
RAID on Ubuntu #
Install OS & RAID at the same time (note: no nested 1+0 or 5+0 ). Using mdadm after installing OS.