1. 插件安装
1.1 安装openmediavault-symlinks
该插件使用符号链接代替完整路径,若无需求可跳过。在文件系统中,我们可以看到对应磁盘的挂载点,我们可以通过此插件用简介的符号代替此路径
- 安装完插件后在服务>Symlinks中创建。来源为挂载点,目标为你的简写符号
1.2 安装openmediavault-compose
- 在系统 > 插件 中,搜索并安装 openmediavault-compose 插件
- 启用 docker 存储库。在 系统 > omv-extras 中,单击 Docker repo按钮,然后保存
2. Docker设置
2.1 创建文件夹和系统设置
这里共需要创建4个文件夹 appdata
、data
、backup_compose
、docker
- 这里我将它们创建在系统盘的SSD中,如有多的盘则可依照官方将
data
文件夹创建在其他盘
- 文件的详细架构如下
- 依照上图在 服务>Compose>设置 中进行对应配置,然后点击保存
appdata
- 此文件夹包含容器的配置文件和持久性数据,包括 yml 文件和 env 文件的副本
- 手动修改此文件夹内容通常不建议,除非你知道自己在做什么
data
- 此字段的使用是可选的,通常用于存储容器使用的持久性数据
backup_compose
- compose 插件允许您计划持久性容器数据的自动备份。这些备份将存储在此文件夹中,通常是用于数据备份和恢复
docker
- 此文件夹包含 docker 内部使用的文件,例如下载的映像和 docker 运行所需的其他信息
- 除非您有特殊配置,否则无需保留此文件夹中的数据,因为每次启动容器时,如有必要,其中的所有内容都会自动下载。
2.2 创建用户 appuser
- 在 用户>用户 中新建一个用户名为
appuser
- 将
appuser
添加到所需的组,如要对 Intel GPU 使用硬件转码,则需要将此用户添加到 render 和 video 组。不要将 appuser 添加到 docker 组。这是一个安全漏洞。 - 接着为创建好的
appuser
添加共享文件夹权限,确保至少必须具有对 appdata 文件夹的写入权限。为其余权限选择权限,并确保拒绝容器不需要运行的任何内容
切勿指定 admin 用户 (UID=998) 或 root 用户 (UID=0) 来管理容器。这是一个严重的安全漏洞。这样做会给容器完全的自由,你不知道容器会在你的系统中做些什么
2.3 全局环境变量
此步骤非必须,在存在多个compose 文件的场景时会很便利
我们可以在 服务>Compose>文件 中的编辑全局环境文件 中定义全局环境变量。能够便利地用于定义文件夹或运行容器的用户的路径
我们只需定义一次 compose 文件,就不需要修改它。即使我们重新安装 OMV 系统,我们也只需要更新这些全局变量,容器便能正常工作
- 全局变量文件中定义的变量:
# THE FOLLOWING VARIABLES CAN BE USED IN ANY COMPOSE FILE
# THEIR VALUE WILL BE REPLACED BY THE VALUE ASSIGNED HERE
# YOU CAN ADD AS MANY VARIABLES AS YOU NEED
#
#
# Customize the PID and GID value of your appuser user.
# You can see it in the OMV GUI in the USERS > USERS tab
#
APPUSER_PUID=1001
APPUSER_PGID=100
#
# Customize your time zone value.
# You can see it in the OMV GUI in the SYSTEM > DATE & TIME tab
#
TIME_ZONE_VALUE=Asia/Shanghai
#
# In this file you can define how many paths you need for different compose files.
# The following are examples corresponding to the example system in the Docker on OMV document on the omv-extras wiki.
# Customize the values according to your system configuration.
#
PATH_TO_APPDATA=/docker/docker_appdata
PATH_TO_DATA=/docker/docker_data
PATH_TO_DOCUMENTS=/srv/mergerfs/pool/data/documents
PATH_TO_MEDIA=/srv/mergerfs/pool/data/media
PATH_TO_MOVIES=/srv/mergerfs/pool/data/media/movies
PATH_TO_PHOTOS=/srv/mergerfs/pool/data/media/photos
PATH_TO_BACKUPS=/srv/dev-disk-by-uuid-384444bb-f020-4492-acd2-5997e908f49f/backups
PATH_TO_DOWNLOADS=/srv/dev-disk-by-uuid-384444bb-f020-4492-acd2-5997e908f49f/downloads
- 现在我们可以定义以下 compose 文件:
---
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=${APPUSER_PUID}
- PGID=${APPUSER_PGID}
- TZ=${TIME_ZONE_VALUE}
volumes:
- ${PATH_TO_APPDATA}/jellyfin/config:/config
- ${PATH_TO_APPDATA}/jellyfin/cache:/cache
- ${PATH_TO_MEDIA}:/media
ports:
- 8096:8096
restart: unless-stopped
- PUID 和 PGID →您可以在 用户>用户 中查看 appuser 的 UID 和 GID值。
- TZ → 您可以在系统>日期和时间以及时区字段中查看您的本地配置。
- APPDATA → 在 存储器 > 共享文件夹 中找到 appdata 共享文件夹的绝对路径。单击链接进行复制并将其粘贴到此处。
- 根据您的系统配置自定义所有路径的值。如果需要定义其他不同的路径,也可以像定义其他变量一样在此处执行此操作。
- 您可以根据需要定义其他变量,例如数据库密码或 compose 文件所需的任何值。
2.4 更换docker源
- 在ssh中输入
vi /etc/docker/daemon.json
在其中添加国内镜像源 - 此处建议查询当前最新可用镜像源进行替换,避免镜像失效
{
"registry-mirrors": ["https://docker.rainbond.cc"],
"debug": true
}
- 重启服务
systemctl daemon-reload && systemctl restart docker
或者是systemctl restart docker.service
3. 镜像拉取
- 在 服务>Compose>文件 中点击添加
这里以 linuxserver 制作的linuxserver/docker-qbittorrent镜像为例创建好 yaml 和 env 配置文件
---
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1001
- PGID=100
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
- TORRENTING_PORT=16881
volumes:
- /docker/docker_appdata/qbittorrent/config:/config
- /srv/dev-disk-by-uuid-4652c247-f7e3-43ef-8fd6-f8761e4f4ff3/ST4000VX015:/downloads #optional
ports:
- 8080:8080
- 16881:16881
- 16881:16881/udp
restart: unless-stopped
- 将以上的各个参数依照你的系统进行修改,然后点击右下角保存
- 在文件界面点击 ↑箭头的上线即可
Comments NOTHING