用Filebrowser和Syncthing搭建一个网盘同步服务器

Syncthing是一款多节点自动文件同步软件,Filebrowser是一款简单的,带用户权限的http文件管理系统。
本文的目的是用这两款软件,在一个Linux服务器上用最小资源消耗,搭建一个可供小团队使用的文件服务器。
以下是用Filebrowser 和 Syncthing,搭建的网盘同步服务器的详细步骤。
一、系统环境
Debian13 + 宝塔面板 , 或 CentOS + 宝塔面板。

在宝塔面板中安装完成Docker服务。

二、目录处理
1、 Syncthing 目录

Syncthing 数据同步目录:/www/wwwroot/syncthing_data
Syncthing 配置文件目录:/www/wwwroot/syncthing_config

# 创建目录结构
mkdir -p /www/wwwroot/syncthing_data
mkdir -p /www/wwwroot/syncthing_config
# 分配权限
chown -R root:root /www/wwwroot/syncthing_data
chown -R root:root /www/wwwroot/syncthing_config
chmod -R 755 /www/wwwroot/syncthing_data
chmod -R 755 /www/wwwroot/syncthing_config

2、 Filebrowser 目录

数据库目录: /www/wwwroot/docker-stack/sync-drive/filebrowser/database

配置文件目录: /www/wwwroot/docker-stack/sync-drive/filebrowser/config

# 1. 创建项目结构
mkdir -p /www/wwwroot/docker-stack/sync-drive/filebrowser/database
mkdir -p /www/wwwroot/docker-stack/sync-drive/filebrowser/config
# 2. 创建空的数据库文件
touch /www/wwwroot/docker-stack/sync-drive/filebrowser/database/filebrowser.db
# 3. 设置权限(确保容器内的 root 有权读写)
chmod -R 777 /www/wwwroot/docker-stack/sync-drive/filebrowser

3、 docker-compose.yml 目录

docker-compose.yml 目录:/www/wwwroot/docker-stack/sync-drive

version: '3'

services:
  # Syncthing 保持你原有的逻辑
  syncthing:
    image: syncthing/syncthing:2.0.15
    container_name: syncthing
    hostname: debian-syncthing
    network_mode: host
    environment:
      - PUID=0
      - PGID=0
    volumes:
      - /www/wwwroot/syncthing_config:/var/syncthing/config
      - /www/wwwroot/syncthing_data:/var/syncthing
    restart: unless-stopped

  # Filebrowser 最终标准配置
  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    user: "0:0"  # 强制以 root 运行,避免权限报错
    ports:
      - "8080:80"
    volumes:
      - "/www/wwwroot/syncthing_data:/srv"                     # 共享的数据目录
      - "./filebrowser/database:/database"                    # 挂载数据库目录
      - "./filebrowser/config:/config"                        # 挂载配置目录
      - "./filebrowser/database/filebrowser.db:/database.db"  # 显式映射数据库文件
    restart: unless-stopped

三、防火墙端口

在宝塔面板->安全 下,打开

  • 8384 (TCP): Syncthing Web 管理界面(必开)
  • 22000 (TCP/UDP): Syncthing 数据传输端口(必开)
  • 21027 (UDP): Syncthing 本地发现端口(选开,用于局域网发现)
  • 8080(TCP): Filebrowser 访问端口

四、部署和启动

1、在/www/wwwroot/docker-stack/sync-drive下,

docker-compose up -d

2、 检查Docker 运行状况

docker ps

预期输出

用Filebrowser和Syncthing搭建一个网盘同步服务器

3、 检查Syncthing服务

http://x.x.x.x:8384

4、 检查和登录Filebrowser

控制台输入:

docker logs filebrowser

应该看到缺省的管理员密码

2026/04/08 02:25:33 Using config file: /config/settings.json

2026/04/08 02:25:33 WARNING: filebrowser.db can't be found. Initialing in /database/

2026/04/08 02:25:33 Using database: /database/filebrowser.db

2026/04/08 02:25:33 Performing quick setup

2026/04/08 02:25:33 User 'admin' initialized with randomly generated password: yuolI2qucXgSlspd

2026/04/08 02:25:33 Listening on [::]:80

访问

http://x.x.x.x:8080

用以上的管理员账号密码登陆后,修改默认管理员密码,保存和退出。

五、 重启服务器检查

重启你的服务器,再次检查Syncthing 和 Filebrowser 。至此一个基于Syncthing 和 Filebrowser 的同步网盘服务器已经搭建完毕。

你可以在自己的PC端通过Syncthing客户端与服务器同步目录, 如果服务器的URL是暴露在公网上的, 你也能在公网上通过Filebrowser访问来获得文件。

并且Syncthing是可以做版本控制, Filebrowser是可以做不同用户访问权限控制的。

六、在Filebrowser中隐藏Syncthing的系统文件

隐藏.stversions 和 .stfloder

设置->全局设置->规则,新建一条规则

选择Regexp,取消勾选Allow ,填入正则表达式 .stfolder|.stversions|.stignore

更新,生效

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/1745.html

淘宝小店:陈皮王五工作室

公司网址:海灵德(六安)环境科技有限公司

(0)
GaryGary
上一篇 2026-03-31 下午1:22
下一篇 2025-08-20 下午2:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注