workbuddy.xpcool.com/.workbuddy/memory/2026-09-03.md

5.2 KiB
Raw Blame History

2026-09-03 工作日志

file.xpcool.com 文件下载站上线Filebrowser

  • 需求/data/share 文件经 file.xpcool.com 提供下载;仅下载 + 访问控制 + 临时分享。
  • 方案Filebrowser 容器127.0.0.1:10880→80restart unless-stopped+ 宿主机 nginx 反代80→301→443。证书 file.xpcool.com_bundle.crt/.key 已上传至 /data/nginx/ssl/file.xpcool.com/。
  • 关键安全点/data/share 以 :ro 只读挂载 /srv —— 文件系统层面禁止任何写入;数据目录 /data/filebrowser/database属主改容器 user uid=1000=lighthouse
  • DNSfile.xpcool.com → 193.112.118.168(用户加记录)。
  • SSH 通道22025 曾禁+密码禁;用户重新绑定密钥后以 CentOS.pem(RSA)→xxcool 登录成功root 被拒)。本机经 HTTP 代理 127.0.0.1:65195 可 CONNECT 443 但 22025 不通502需安全组放行直连。
  • 大坑记录filebrowser 新版 v2.3x
    1. 不再默认 admin/admin——全新 db 首次启动生成随机密码,仅打印在容器日志(docker logs filebrowser 找 "initialized with randomly generated password")。
    2. db 是 bbolt 非 sqlitesqlite3 读报 "file is not a database")。
    3. CLI users update 走本地 HTTP/需服务停止操作 db运行时直连 db 报 Error: timeout(文件锁);经 API PUT /api/users/1 改密码始终 400invalid data type需完整对象且字段严格
    4. 镜像默认以 user(uid 1000) 运行(非 root宿主挂载目录须 chown 1000 否则写库 permission denied。
    5. 镜像 entrypoint 即 filebrowserdocker run 传参勿重复 filebrowser 前缀。
    6. ⚠️ filebrowser 官方项目已于 2026-09-01 归档(日志 NOTICE停止发布与安全修复已知问题见其 security/advisories有分叉 FileBrowser Quantum 可关注。
  • 对外验证通过:公网 https://file.xpcool.com 登录 → API 列目录返回两个安装包(精密智控平台 1.0.0/1.0.1,各 ~94MB。注意 filebrowser 对 HEAD / 返回 404无害浏览器 GET 正常)。
  • admin 初始密码8iXK_m4z7TAHbiMQ重置后日志生成值API 改密失败未改待用户网页登录后自改。locale 默认 en网页改 zh-cn。
  • 运维要点:容器重建后如需找回密码看日志;/config 匿名卷保存 settings.jsonport 80/root /srv/db 路径);旧 db 备份 /data/filebrowser/database/filebrowser.db.bak.*。
  • 部署脚本/说明nginx conf 模板保留在 .workbuddy/tmp/file.xpcool.com.confscp 至 /tmp 后 sudo cp 到 /data/nginx/conf.d/ 并 reload
  • 账号管理补充API 建号/改密不可用POST/PUT /api/users 均 400 "invalid data type",含最小 body 与 GET roundtrip判定归档版 users 管理 API 受限)。结论:改密/建只读账号/语言切换一律走网页 UIadmin 登录后 设置→用户管理CLI/API 勿再尝试。当前仅 admin 一账号。
  • 迁移到 FileBrowser Quantumv1.5.5-stable晚间完成:镜像 gtstef/filebrowser:stable60MB 含 ffmpeg容器 fbq127.0.0.1:10881→80restart unless-stopped挂载 /data/share:/srv:ro + /data/filebrowser-q:/home/filebrowser/dataconfig.yaml+database.db+tmp 缓存全在此chown 1000:1000=lighthouse。nginx 反代已切 10881。旧容器 filebrowser(原版 10880已 stop 保留回滚
    • 初始凭据admin/admin与归档原版不同——原版随机密码打日志Quantum 首启日志 "Resetting admin user to default username and password"),要求用户首登后立即改密。
    • config.yaml 最小配置:server.cacheDir: /home/filebrowser/data/tmp + sources[0]: path=/srv, config.defaultEnabled: true, defaultUserScope: /(模板在 .workbuddy/tmp/fbq-config.yaml)。
    • Quantum API 变化POST /api/login、/api/users 等原版路径 404API 需用户创建 long-live tokenSwagger /swagger 亦需 token管理操作走网页 UI。
    • 验证:公网 title "FileBrowser Quantum";容器内 /srv 两 exe 可见touch /srv 报 Read-only file system只读保护生效
    • 文档:官方 docs filebrowserquantum.comv1.5.x stable 用 legacy database.dbv2.0.0 beta 权限模型大改 per-sourceview/download/modify/create/delete per scope
  • Quantum CLI 改密成功2026-09-03 深夜):顶层语法 filebrowser set -u admin,<新密码> -a -c /home/filebrowser/data/config.yaml(其 --help 里 "Use 'set user' or 'set rule'" 是误导,实际没有 set user 子命令,直接顶层 set -u)。:① 服务运行中执行报 "the database is locked",须先 docker stop fbq;② 停服后无法 execdocker run --rm --entrypoint /home/filebrowser/filebrowser -v /data/filebrowser-q:/home/filebrowser/data gtstef/filebrowser:stable set -u ... 改完再 start③ 成功标志 successfully updated user: admin登录 APIv1.5POST /api/auth/login(原版 /api/login 及 /api/user/login 等均 404错误与正确密码均返回 401 "user unauthorized" 无法区分验证以浏览器为准。admin 新密码为 CLI 生成的 24 位 hex见对话用户可再网页自改