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 这样的动态加载。但是容器的启停报错,不如直接在控制台看到输出来的实在。

相关推荐
IT爱学堂39 分钟前
新版Linux零基础入门到高手Rocky版本-替换CentOS(完结)
linux·运维·centos
蒸蒸yyyyzwd1 小时前
cpp选手秋招学习笔记day24-cs144项目总结
运维·服务器·网络
ang7841 小时前
日常高频使用的 Ansible 命令,按使用频率和场景整理。
linux·运维·服务器
赵庆明老师2 小时前
用同一个用户登录宝塔面板的ftp与Linux的sftp
linux·运维·服务器
山君爱摸鱼2 小时前
堡垒机远程服务器故障收集
运维·服务器
不会就选b3 小时前
Linux之socket编程(六)----TCP-->模拟shell命令
linux·运维·tcp/ip
dazhong20123 小时前
Docker 进阶篇(一) CentOS 7 离线升级 Docker 完整实战
docker·容器·centos
Elastic 中国社区官方博客3 小时前
不再有分配延迟:在无状态 Elasticsearch 中将快照与分片迁移解耦
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
hacker_LeeFei4 小时前
Flyway使用手册
运维