用 podman 部署 file browser (免登录)
Quadlet 配置 路径:~/.config/containers/systemd/filebrowser.container [Unit] Description=<description> After=network-online.target [Container] Image=docker.io/filebrowser/filebrowser:latest ContainerName=<name> UserNS=keep-id PublishPort=<port>:8080 Volume=/share/web:/srv:ro Volume=/share/filebrowser/database:/database Volume=/share/filebrowser/config:/config Environment=FB_NOAUTH=true AutoUpdate=registry [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target settings.ini /config/settings.ini { "port": 8080, "baseURL": "", "address": "", "log": "stdout", "database": "/database/filebrowser.db", "root": "/srv" } 配置要点 UserNS=keep-id:容器使用当前用户 UID/GID,避免权限错乱 Volume 映射 /share/web:/srv:ro:网站根目录,只读 /share/filebrowser/database:/database:数据库持久化 /share/filebrowser/config:/config:配置持久化 Restart=always:异常退出自动重启 AutoUpdate=registry:容器会根据镜像仓库版本自动更新 初次运行时必须确保 /database 是空的,否则 noauth 不生效! 自动升级机制 AutoUpdate=registry 启用后,Podman 的 systemd 集成会在 systemd.timer 定期触发时检查镜像更新 默认检查周期:每日(受 podman-auto-update.timer 控制) 升级时机: 如果仓库有新版本镜像 → 下载新镜像 自动重启受影响的服务,使用新镜像运行容器 可手动触发: systemctl --user start podman-auto-update.service 启动流程 mkdir -p /share/web \ /share/filebrowser/database \ /share/filebrowser/config loginctl enable-linger $USER systemctl --user daemon-reload systemctl --user enable --now filebrowser.service 验证 systemctl --user status filebrowser journalctl --user -u filebrowser.service -f podman ps | grep filebrowser 访问:<http://<宿主机ip>:8080>