基于Docker H(๐•ᴗ•๐)
站内linuxserver/transmission
的说明进行编写。
本文介绍的是Linux系统下安装Docker版Transmission,在NAS上安装的操作可能有所不同
威联通Container Station 容器工作站
安装Transmission可参照此篇。
Docker Pull Command
docker pull linuxserver/transmission
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
安装方法
通过docker-compose安装(建议)
version: "2.1"
services:
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- TRANSMISSION_WEB_HOME= #可选
- USER= #可选,此处设置WebUI账户
- PASS= #可选,此处设置WebUI密码
- WHITELIST= #可选, 指定可访问WebUI的白名单的ip列表,逗号分隔
- RPCPORT= #可选,此处设置WebUI端口,默认为9091
- PEERPORT= #可选,此处设置种子链接端口,默认为51413
- HOST_WHITELIST= #可选
volumes:
- /path/to/data:/config #挂载TR设置文件存储
- /path/to/downloads:/downloads #挂载TR下载文件存储
- /path/to/watch:/watch #挂载TR种子监听文件存储
ports:
- 9091:9091 #NAT转发RPC端口
- 51413:51413 #NAT转发PEER端口
- 51413:51413/udp #NAT转发PEER(UDP)端口
restart: unless-stopped
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
通过docker-cil安装
参数解释参照上文compose
方法,或见下文详细说明。
docker run -d \
--name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e TRANSMISSION_WEB_HOME= \
-e USER= \
-e PASS= \
-e WHITELIST=\
-e RPCPORT= \
-e PEERPORT= \
-e HOST_WHITELIST= \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /path/to/data:/config \
-v /path/to/downloads:/downloads \
-v /path/to/watch:/watch \
--restart unless-stopped \
lscr.io/linuxserver/transmission:latest
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
参数介绍
在启动时,容器会由上述命令中传递的参数进行设置。
部分参数由“冒号”分隔,这类参数的含义是 外部(主机):内部(容器)
,如8080:80
意味着主机的8080端口将链接到容器内部的80端口,/usr/a:/opt/b
意味着主机的/usr/a
(๐•ᴗ•๐)径挂载到容器/opt/b
之上。
不设置某条参数时,请在命令行中删除该参数对应的命令。
如:不需要替换Web UI页面,则无需输入-e TRANSMISSION_WEB_HOME=
该行内容
注意:主机(外部)端口不能重复使用,包括在同一容器内重复使用和不同容器之间重复使用,也不能与主机正在使用的端口重复。
参数 | 功能 |
-p 9091 | NAT转发WebUI端口 |
-p 51413 | NAT转发PEER端口 |
-p 51413/udp | NAT转发PEER(UDP)端口 |
-e PUID=1000 | 设置用户ID |
-e PGID=1000 | 设置用户群组ID |
-e TZ=Etc/UTC | 设置容器时区,北京时间需将Etc/UTC 修改为Asia/Shanghai |
-e TRANSMISSION_WEB_HOME= | 替换默认的WebUI页面, |
-e USER= | 设置WebUI登录用户 |
-e PASS= | 设置WebUI登录密码 |
-e WHITELIST= | 指定访问WebUI的白名单列表 |
-e RPCPORT= | 修改WebUI端口 |
-e PEERPORT= | 修改PEER端口 |
-e HOST_WHITELIST= | 设置远程域名访问白名单 |
-v /*** | 挂载文件存储 |
Docker secrets加密
普通使用场景无需关注这一条。
如果觉得明文设置密码有安全隐患,TR也支持Docker secrets传递加密后的密码文件。只需使用下面的命令:
-e FILE__PASSWORD=/run/secrets/passfile
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
后记
Transmission 安装完成后,默认使用9091
端口提供WebUI服务,访问IP:9091
即可打开WebUI。
在WebUI中可以进行一些基础性设置,一些高级设置需修改settings.json
文件,不能通过WebUI修改,也不显示在WebUI上。
settings.json
文件位于容器/config
文件夹内,该文件在容器运行时不能编辑(编辑的数据不会被保存),需在编辑前停止容器的运行,一般使用情境下,不建议也无需对该文件进行修改。