飞牛NAS(FNOS)使用docker compose编排模式安装openlist教程

准备工作

 

创建文件夹

 

打开飞牛OS桌面的【文件管理】,双击进入【docker】文件夹,选择【创建文件夹】,文件夹名称【openlist】

 

 

创建好后需要复制文件夹位于宿主机的路径,方便后续使用:

 

 

保存好此路径!

 

安装步骤

 

创建项目

 

打开飞牛OS桌面的【Docker】应用,点击左侧【Compose】菜单,点击右上角的【新增项目】,在弹出的窗口中,填写项目名称【openlist】,填写路径【此路径为第一步准备工作中创建的文件夹】,选择【创建docker compose.yml】,粘入【刚才复制的代码(代码①)】,点击【确定】即可;

 

此时进入到项目管理页面,在列表点击刚才创建的【openlist】项目右侧的启动按钮(类似电源图标),docker项目会自动构建;

 

等待出现如下界面,即代表构建完成,此时可以关闭窗口;

 

此时项目已构建完成;
创建好了之后,点击左侧【容器】菜单,进入容器管理界面,找到openlist容器,鼠标移到容器右侧更多(…),在弹出的菜单中,选择运行日志,点击查看;

 

找到  Successfully created the admin user and the initial password is: EgKxvZBy  这行,其中password为密码的意思,冒号后面的即为密码,账号统一为admin;

 

访问openlist容器:

1、可使用作为宿主机的当前FNOS的IP:5244,如飞牛NAS的访问地址为192.168.0.10:5666,则访问地址为:http://192.168.0.10:5244

2、可在飞牛NAS的docker应用中左侧菜单中的容器,找到刚刚创建的openlist项目,鼠标移到右侧快捷访问按钮,在弹出菜单选择5244:5244,点击即可打开;

 

 

至此,openlist已完成安装!

 

 

相关代码

 

复制下列代码:

 

(代码①)

v4.1.1 及以后版本(包括最新版本)

services:
  openlist:
    image: 'openlistteam/openlist:latest'
    container_name: openlist
    user: '0:0' # Please replace `0:0` with the actual user ID and group ID you want to use to run OpenList.
    volumes:
      - '/etc/openlist:/opt/openlist/data'
    ports:
      - '5244:5244'
    environment:
      - UMASK=022
    restart: unless-stopped

 

v4.1.0 及以前版本

services:
  openlist:
    image: 'openlistteam/openlist:latest'
    container_name: openlist
    volumes:
      - './data:/opt/openlist/data'
    ports:
      - '5244:5244'
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
    restart: unless-stopped

 

更改image: 'openlistteam/openlist:latest'中,openlist:latest为openlist:v4.1.0则为4.1.0版本。

 

注意修改:

volumes:
- '/etc/openlist:/opt/openlist/data'  中的  /etc/openlist 为开篇准备工作中创建文件夹的位置,即创建完成文件夹后,准备工作步骤最后复制的路径
例如:

volumes:
- '/vol1/1000/docker/openlist:/opt/openlist/data'

 

如果不慎直接创建了,删除该文件夹代码为

sudo rm -rf /etc/openlist
需使用SSH连接FNOS,成功连接后需转至root用户,再输入删除代码。

 

核心配置解析

 

image: 'openlistteam/openlist:latest'

使用官方镜像 openlistteam/openlist 的最新版本(latest标签)。

 

container_name: openlist

指定容器名称为 openlist(取代默认生成的随机名称)。

 

volumes:

- '/etc/openlist:/opt/openlist/data'
  • 数据持久化:将宿主机的目录 /etc/openlist 挂载到容器内的 /opt/openlist/data。
  • 目的:确保容器重启或更新时,应用数据(如配置文件、数据库等)不会丢失。

 

ports:
- '5244:5244'
  • 端口暴露:将宿主机的 5244 端口映射到容器的 5244 端口。
  • 访问方式:通过 http://宿主IP:5244 访问 OpenList 服务。

 

environment:
- PUID=0 # 用户ID (0 = root)
- PGID=0 # 组ID (0 = root)
- UMASK=022 # 权限掩码
  • 权限控制:
    • PUID=0 和 PGID=0:容器内进程以 root 用户运行(需注意安全风险)。
    • UMASK=022:新建文件/目录的默认权限为:
      • 文件:644(所有者可读写,其他用户只读)
      • 目录:755(所有者可读/写/执行,其他用户可读/执行)

PS:

user:

user: '0:0' # Please replace `0:0` with the actual user ID and group ID you want to use to run OpenList.(0:0可替换为具体的用户和用户组)

 

restart: unless-stopped

    • 重启策略:容器退出时自动重启,除非用户手动停止(docker stop)。
    • 适用场景:确保服务意外崩溃或宿主机重启后自动恢复。
阅读剩余
THE END