FileBrowser的docker运行了改变密码长度的做法

先定义一,docker-compose.yaml文件

bash 复制代码
version: '3.8'
services:
  filebrowser:
    image: filebrowser/filebrowser:v2.63.17-s6
    container_name: filebrowser
    restart: unless-stopped
    ports:
      - "8989:80"
    volumes:
      # 核心:将宿主机的 dev 目录映射到容器内的 /srv 目录
      - /root/Documents/dev:/srv 
      - ./database:/database
      - ./config:/config
    environment:
      PUID: 1000  # 建议运行 id -u 获取实际值
      PGID: 1000  # 建议运行 id -g 获取实际值
      TZ: Asia/Shanghai
      FB_PASSWORD: 12位不知道行不行。

在定义密码的这里,最小12位,我用短的失败了。

sudo docker compose up -d

会起动,

docker logs filebrowser | grep "password"^C

查看随机密码。

要改成一个12,不方便,于是找改密码方法。小于12.

也许配置文件json中可以定义。但是命令行filebrowser -d file -c file config set help就行看到有一个,config set --minimumPasswordLength 6 这就是改密码的命令。它必然存在db中,另外是前两个,先环境变量,后,json的文件。

因为无法交互式执行,很难找到提示一精确参数名。在docker停下来后,db才有改的权力,不然就是timeout.

以下是停止容器后改的办法。这个容器不常留。

docker run --rm \ -v $(pwd)/database:/database \ -v $(pwd)/config:/config \ filebrowser/filebrowser:v2.63.17-s6 \ filebrowser config set --minimumPasswordLength 6 \ --database /database/filebrowser.db \ --config /config/settings.json ,

改过后就能启动了。

我说下找出和他交互的办法,基于docker 容器。

docker exec -it filebrowser sh

先apk update ,apk add socat

echo 'socat TCP-LISTEN:9990,reuseaddr SYSTEM:"true"&' > newfb

chmod +x. newfb

mv /bin/filebrowser. /fb

mv newfb. /bin/filebrowser

exit

最好先看下,新的,角本的运行情况。

然后重启容器。然后去,用。

/fb -d /database/filebrowser.db -c /config/settings.json config set --minimumPasswordLength 6

完成更改

/fb -d /database/filebrowser.db -c /config/settings.json users update admin --password NEwpass

mv /fb. /bin/filebrowser

把主命令还回去,

这样作是因为,容器需要一个常驻后台,进程,但是这个进程被filebrowser占用,这就无法改变db文件。而且好像db中有最全的配置。相同的情况我在PanIndex中也遇到过。他在离线使用时会因为设置了在线CDN而无法变更设置,也来源于DB文件,基本配置换为本地就能解决。但在容器内又无法能过指令来改。所以先停止,再想法改变sqllite db中的内容。那是用,sqlite3这个客户端改的。

说回这个技巧。

我开发,flask的时候,本质上,最终是要让他做为常驻主进程在容器中的。但是,我们在写码过程中,可以先打开一个无关端口,类似于socat主要是让它不掉线。然后再启动主作务,去写代码和重启。

这就是本次操作的启发吧。虽然可以,写成debug watch relload 这样的动态加载。但是容器的启停报错,不如直接在控制台看到输出来的实在。

相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS2 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站2 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏2 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心2 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing2 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
赵文宇(温玉)2 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang2 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github