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>
感谢您的耐心阅读!来选个表情,或者留个评论吧!