📝摘要

前面两篇完成系统安装、环境准备。本篇实现 FileBrowser 后台常驻开机自启,解决密码重置各种报错,网页中文切换,同时讲解 OpenAPI 接口使用。适合想基于这个服务,自己写安卓 APP 自动备份、C# 桌面客户端的开发者。

0. 前言

直接前台运行程序,关闭 SSH 窗口服务就停止,生产 / 测试环境需要配置 systemd 实现开机自启,后台常驻运行。同时记录密码重置踩坑:密码太短、密码过于简单、数据库被占用 timeout 报错。

1. 编写 systemd 服务单元文件

⚠️注意:编辑 /etc/systemd/system 下文件必须加 sudo,否则报 Permission denied 权限拒绝。

sudo nano /etc/systemd/system/filebrowser.service

完整 service 配置(全部使用绝对路径,禁止使用~)

[Unit]
Description=FileBrowser
After=network.target

[Service]
User=lcvong
WorkingDirectory=/home/lcvong
ExecStart=/home/lcvong/filebrowser -d /home/lcvong/fb_data/filebrowser.db -p 8080 -a 0.0.0.0 -r /home/lcvong/fb_files
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存退出:Ctrl+O回车保存,Ctrl+X退出 nano 编辑器。

2. 重载 systemd 配置,设置开机自启

sudo systemctl daemon-reload
# 设置开机启动并且立刻启动服务
sudo systemctl enable --now filebrowser

查看运行状态

systemctl status filebrowser

输出active (running)代表服务正常运行。

3. 账户密码重置(高频踩坑)

FileBrowser 新版本不再提供默认 admin/admin 密码,首次启动自动随机生成密码。修改密码必须完全停止服务,否则数据库文件被占用,出现 timeout 超时。

完整重置流程:

# 停止服务
sudo systemctl stop filebrowser
# 如果残留进程杀干净
pkill filebrowser

# 修改密码,密码要求:长度≥12位,不能纯连续简单数字
./filebrowser users update admin --password Abc123456789xyz -d ~/fb_data/filebrowser.db

# 重新启动服务
sudo systemctl start filebrowser

登录信息

  • 用户名:admin
  • 密码:Abc123456789xyz

常见报错:

  1. password is too short:密码长度不足 12 字符
  2. password is too easy:不要纯连续数字,混合大小写字母数字
  3. Error: timeout:服务没有完全关闭,数据库被锁,执行 pkill filebrowser 杀掉残留进程

4. 网页访问 & 切换简体中文

浏览器访问局域网地址:

http://192.168.1.18:8080
  1. 使用账号密码登录后台
  2. 右上角头像 → User settings 用户设置
  3. Language 下拉选择 简体中文(zh‑CN),保存,管理界面立刻切换中文

注意:登录页面本身不会汉化,登录之后内部管理页面是中文。

现在可以网页端完成:新建文件夹、上传、下载、删除文件,局域网私有云盘已经跑通。

5.API 接口文档(二次开发重点)

访问 openapi 在线文档:

http://192.168.1.18:8080/api/docs

可以在线调试接口:登录鉴权、获取文件列表、上传文件、下载文件、创建文件夹。

后续开发规划(我的实践目标)

  1. 安卓 APP:调用这套 API,实现手机照片自动备份,浏览云端文件
  2. C# 桌面软件:WPF 开发 PC 客户端,上传下载同步文件,替代网页操作

不需要自己写底层文件存储逻辑,FileBrowser 服务承担存储、鉴权,客户端只做 UI 和调用 API。

6. 后续拓展方向

  1. IPv6 配置,实现外网访问私有云盘(后续可以继续实践)
  2. 新增多个用户账号,做权限隔离
  3. 开启 https 加密访问

7. 本篇踩坑总结

  1. systemd 文件必须写绝对路径,波浪号~不会识别
  2. 修改密码,必须彻底停止 filebrowser 所有进程,否则数据库锁死
  3. 防火墙忘记放行 8080 端口,网页打不开
  4. 项目官方归档不再更新,不建议直接暴露公网,外网访问务必配置 HTTPS

8. 整套系列总结

三篇完整完成局域网私有云搭建:

  1. 第一篇:Ubuntu 系统安装、静态 IP、网络基础
  2. 第二篇:环境准备,下载二进制程序,目录规划
  3. 第三篇:systemd 常驻部署、账号处理、中文界面、API 二次开发入口

标签

#FileBrowser部署 #systemd #私有云二次开发 #C# #安卓开发

更多推荐