侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 192 篇文章
  • 累计创建 31 个标签
  • 累计收到 12 条评论

目 录CONTENT

文章目录

Docker搭建filebrowser

管理员
2026-03-30 / 0 评论 / 0 点赞 / 16 阅读 / 0 字

下面是从零开始的完整流程,以 Debian VPS、root 用户为例。

1. 检查 Docker 环境

docker --version
docker compose version

两条都有版本号就跳到第 2 步。没装的话:

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

2. 创建目录

mkdir -p /root/filebrowser/{my-files,database,config}
cd /root/filebrowser
  • my-files:你要管理的文件

  • database:存用户和设置,必须持久化

  • config:存配置

3. 写 docker-compose.yml

cat > docker-compose.yml <<'EOF'
services:
  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    user: "0:0"
    ports:
      - "8080:80"
    volumes:
      - ./my-files:/srv
      - ./database:/database
      - ./config:/config
    restart: unless-stopped
    # 针对 1G 内存 VPS 的性能优化(防止扫描大文件时撑爆内存)
    deploy:
      resources:
        limits:
          memory: 128M
          cpus: '0.5'
EOF
  • user: "0:0" 让容器以 root 运行,这样不会因为 my-files 里的文件属主是 root 而无法上传、删除。

  • 端口是 宿主机 8080 : 容器 80。

  • 数据库和配置的路径必须是 /database 和 /config,写成别的路径不会被读取,这是之前登录失败的根源。

4. 启动

docker compose up -d
docker compose ps

STATUS 显示 Up 就是正常。

5. 获取初始密码

docker compose logs filebrowser | grep -i password

找到这一行:

User 'admin' initialized with randomly generated password: xxxxxxxx

用户名是 admin,密码就是冒号后面那串。

6. 放行端口

服务器上开了 ufw 的话:

ufw allow 8080/tcp

云服务商的安全组或防火墙里,也要放行 TCP 8080。

7. 登录并改密码

浏览器打开 http://服务器IP:8080,用 admin 和第 5 步的密码登录。然后进入 Settings → Profile Settings 修改密码,新密码至少 12 位。

想用命令行改的话,需要先停容器(数据库有文件锁):

docker compose down
docker run --rm -v $(pwd)/database:/database filebrowser/filebrowser \
  users update admin --password '你的新密码12位以上' -d /database/filebrowser.db
docker compose up -d

8. 验证数据持久化

docker compose up -d --force-recreate

重建容器后,用新密码仍能登录,就说明数据库已经保存在 ./database 里。

日常维护

升级镜像:

cd /root/filebrowser
docker compose pull
docker compose up -d

备份用户和设置:

cp -r /root/filebrowser/database /root/filebrowser/database.bak

查看日志:

docker compose logs -f filebrowser

安全提示

http://IP:8080 是明文传输,密码会在网络上裸奔。如果要长期对外开放,建议把端口改成 "127.0.0.1:8080:80",再用 Nginx 或 Caddy 反代并配上 HTTPS;或者只允许自己的 IP 访问 8080 端口。

需要的话,我可以把这份教程整理成 markdown 文件,方便你留存。这份教程专门针对您的 GCP VPS(1G内存 / 30G硬盘)


关键的初始设置(保姆级避坑)

容器启动后,请立即登录网页端进行以下三项核心配置:

1. 登录与语言

  • 地址: http://您的服务器IP:8080

  • 初始账号: admin 密码: 输入以下命令会看到一行以随机生成的密码结尾

docker logs filebrowser
  • 中文设置: 点击左侧 Settings -> Profile Settings -> Language 改为 zh-cn,点击 SAVE

2.记得修改密码

0

评论区