docker pull linuxserver/transmission
LinuxServer.io团队为您带来了另一个容器版本,其中包含:
定期及时更新应用程序
简单的用户映射(PGID、PUID)
带有 s6 覆盖层的自定义基础镜像
每周更新基础操作系统,并在整个 LinuxServer.io 生态系统中使用通用层,以最大程度地减少空间使用、停机时间和带宽
定期安全更新
找到我们:
博客- 您可以使用我们的容器做的所有事情,包括操作指南、意见等等!
Discord - 与社区和团队实时支持/聊天。
话语- 在我们的社区论坛上发帖。
Fleet - 一个在线网络界面,显示我们维护的所有图像。
GitHub - 查看我们所有存储库的源代码。
开放集体- 请考虑通过捐赠或贡献我们的预算来帮助我们
Linux服务器/传输
变速箱专为简单、强大的使用而设计。Transmission 具有您想要的 BitTorrent 客户端功能:加密、Web 界面、对等交换、磁力链接、DHT、μTP、UPnP 和 NAT-PMP 端口转发、Webseed 支持、监视目录、跟踪器编辑、全局和每个 Torrent 速度限制等等。
支持的架构
我们利用 docker 清单来实现多平台感知。更多信息可从此处的docker 和此处的公告获得。
只需拉动lscr.io/linuxserver/transmission:latest即可检索拱门的正确图像,但您也可以通过标签拉动特定的拱门图像。
该镜像支持的架构有:
建筑学 | 可用的 | 标签 |
|---|---|---|
x86-64 | ✅ | amd64-<版本标签> |
ARM64 | ✅ | arm64v8-<版本标签> |
臂氢夫 | ❌ |
应用程序设置
Webui 位于端口 9091 上,/config 中的 settings.json 文件具有 Webui 中不可用的额外设置。在编辑之前停止容器,否则任何更改都不会保存。
使用用户名/密码保护 WebUI。
使用docker run/create/compose 中的USER和PASS变量来设置身份验证。不要手动编辑settings.json输入用户/密码,否则 s6 Supervisor 无法干净地停止传输。
自动更新阻止列表
这个是需要"blocklist-enabled": true,设置的。通过将此设置为 true,假设您还填充了blocklist-url有效的阻止列表。
自动更新是一个 shell 脚本,它从 settings.json 中存储的 URL 下载阻止列表,对其进行枪压缩,然后重新启动传输守护进程。
自动更新将在本地服务器时间每天凌晨 3 点运行一次。
使用白名单
用于WHITELIST启用 IP 列表作为白名单。这启用了对rpc-whitelist. 当WHITELIST为空时,将禁用对白名单的支持。
用于HOST_WHITELIST启用 DNS 名称列表作为主机白名单。这启用了对rpc-host-whitelist. 当为HOST_WHITELIST空时,将禁用对主机白名单的支持。
使用替代的 Transmission 种子端口
用于PEERPORT指定传输应侦听的端口。这会禁用随机端口选择。这应该与 docker 配置中映射的端口相同。
用法
以下是一些示例片段,可帮助您开始创建容器。
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= #optional
- USER= #optional
- PASS= #optional
- WHITELIST= #optional
- PEERPORT= #optional
- HOST_WHITELIST= #optional
volumes:
- /path/to/data:/config
- /path/to/downloads:/downloads
- /path/to/watch/folder:/watch
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: unless-stopped
docker cli(点击此处了解更多信息)
docker run -d \
--name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e TRANSMISSION_WEB_HOME= `#optional` \
-e USER= `#optional` \
-e PASS= `#optional` \
-e WHITELIST= `#optional` \
-e PEERPORT= `#optional` \
-e HOST_WHITELIST= `#optional` \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /path/to/data:/config \
-v /path/to/downloads:/downloads \
-v /path/to/watch/folder:/watch \
--restart unless-stopped \
lscr.io/linuxserver/transmission:latest
参数
容器镜像是使用运行时传递的参数(如上面的参数)进行配置的。这些参数用冒号分隔并<external>:<internal>分别表示。例如,-p 8080:80将公开容器内部的端口,以便可以从容器外部80端口上的主机 IP 进行访问。8080
范围 | 功能 |
|---|---|
| 网页界面 |
| Torrent 端口 TCP |
| Torrent 端口 UDP |
| 对于 UserID - 请参阅下面的说明 |
| 对于 GroupID - 请参阅下面的说明 |
| 指定要使用的时区,请参阅此列表。 |
| 指定备用 UI 文件夹的路径。 |
| 指定接口的可选用户名 |
| 为接口指定可选密码 |
| 指定逗号分隔的 IP 白名单的可选列表。填充 rpc-whitelist 设置。 |
| 指定 torrent TCP/UDP 连接的可选端口。填充对等端口设置。 |
| 指定逗号分隔的 dns 名称白名单的可选列表。填充 rpc-host-whitelist 设置。 |
| 传输应存储配置文件和日志的位置。 |
| 下载的本地路径。 |
| 监视 torrent 文件的文件夹。 |
文件中的环境变量(Docker 秘密)
您可以使用特殊的 prepend 从文件中设置任何环境变量FILE__。
举个例子:
-e FILE__PASSWORD=/run/secrets/mysecretpassword
PASSWORD将根据文件的内容设置环境变量/run/secrets/mysecretpassword。
用于运行应用程序的 Umask
对于我们的所有镜像,我们提供了使用可选设置覆盖容器内启动的服务的默认 umask 设置的功能-e UMASK=022。请记住,umask 不是 chmod,它根据它不添加的值从权限中减去。在寻求支持之前,请先阅读此处。
用户/组标识符
当使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组来避免此问题PGID。
确保主机上的所有卷目录都属于您指定的同一用户,并且任何权限问题都会像魔术一样消失。
在这种情况PUID=1000下PGID=1000,要找到您的使用方式,id user如下所示:
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
Docker 模组
我们发布了各种Docker Mod以在容器内启用附加功能。可通过上面的动态徽章访问该图像可用的 Mod 列表(如果有)以及可应用于我们任何一个图像的通用 Mod。
支持信息
容器运行时的 shell 访问:
docker exec -it transmission /bin/bash实时监控容器的日志:
docker logs -f transmission容器版本号
docker inspect -f '{{ index .Config.Labels "build_version" }}' transmission
镜像版本号
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/transmission:latest
更新信息
我们的大多数图像都是静态的、版本化的,并且需要图像更新和容器重新创建来更新内部的应用程序。除了一些例外(即 nextcloud、plex),我们不建议或支持更新容器内的应用程序。请参阅上面的“应用程序设置”部分,了解是否建议将其用于图像。
以下是更新容器的说明:
通过 Docker 撰写
更新所有图像:
docker-compose pull或更新单个图像:
docker-compose pull transmission
让 compose 根据需要更新所有容器:
docker-compose up -d或更新单个容器:
docker-compose up -d transmission
您还可以删除旧的悬空图像:
docker image prune
通过 Docker 运行
更新图像:
docker pull lscr.io/linuxserver/transmission:latest停止正在运行的容器:
docker stop transmission删除容器:
docker rm transmission按照上面的说明,使用相同的 docker 运行参数重新创建一个新容器(如果正确映射到主机文件夹,您的
/config文件夹和设置将被保留)您还可以删除旧的悬空图像:
docker image prune
通过 Watchtower 自动更新程序(仅在您不记得原始参数时使用)
在其标签处拉取最新镜像,并在一次运行中将其替换为相同的环境变量:
docker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once transmission您还可以删除旧的悬空图像:
docker image prune
注意:我们不认可使用 Watchtower 作为现有 Docker 容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。然而,这是一个有用的工具,可以在您忘记原始参数的情况下一次性手动更新容器。从长远来看,我们强烈建议使用Docker Compose。
镜像更新通知 - Diun(Docker 镜像更新通知程序)
我们推荐Diun来获取更新通知。不推荐也不支持其他在无人值守的情况下自动更新容器的工具。
本地建设
如果您想出于开发目的或只是为了自定义逻辑而对这些图像进行本地修改:
git clone https://github.com/linuxserver/docker-transmission.git
cd docker-transmission
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/transmission:latest .
ARM 变体可以使用以下命令在 x86_64 硬件上构建multiarch/qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以定义要与-f Dockerfile.aarch64.
版本
10.08.23: - 将解压缩到 6.2.10。
10.06.23: - 将 unrar 升级到 6.2.8,安装 Transmission-extra。
23.05.25: - 弃用 armhf。
14.05.23: - 显式安装 Transmission-remote。
02.03.23: - 添加 cron init 以允许用户自定义 crontab。
08.02.23: - 重新设置 Alpine Edge 以访问最新版本的 Transmission。删除捆绑的第 3 方 UI 包。
05.01.23: - 重新设置为 Alpine 3.17,恢复 GNU findutils 软件包。
02.11.22: - 重新调整到 Alpine 3.16,迁移到 s6v3。
12.08.22: - 将 unrar 升级到 6.1.7。
03.04.22: - 添加 Transmissionic 作为 UI 选项。
21.02.22: - 从源代码构建 unrar,重新设置 Alpine 3.15,添加 TWC 所需的符号链接。图片来源@alexbelgium
09.07.21: - 在捕获 sigterm 后等待传输守护进程终止。
06.03.21: - 添加洪水传输作为 UI 选项。
23.01.21: - 重新调整为 alpine 3.13。
02.11.20: - 添加 ca-certificates 包以允许连接到 https 跟踪器。
02.06.20: - 重新设置为 alpine 3.12,更新为 Transmission 3.0,删除 python2,添加 python3。
11.05.20: - 删除不必要的 chmod(先前更改的残余)。
20.04.20: - 使用 Transmission-remote 更新阻止列表。
20.03.30: - 内部化 blocklist-update.sh。
20.03.29: -更新自述文件中的身份验证信息。
19.12.19: - 重新调整为 alpine 3.11。
2019 年 10 月 4 日: - 更新包装标签。
21.08.19: - 添加可选的用户/密码环境变量,修复如果设置了用户/密码则传输关闭的问题。
19.07.19: - 在阻止列表更新中发送 SIGTERM 以正确关闭 pid。
28.06.19: - 重新调整为 alpine 3.10。
2019 年 3 月 23 日: - 切换到新的基础镜像,切换到 arm32v7 标签。
22.02.19: - 重新设置为 Alpine 3.9,将主题添加到基础图像,添加 python 和 findutils。
22.02.19: - 捕捉术语并干净退出。
07.02.19: - 添加管道逻辑和多架构。
2018 年 8 月 15 日: - 重新设置为 alpine linux 3.8。
12.02.18: - 从边缘存储库中拉出传输。
10.01.18: - 重新设置为 alpine linux 3.7。
25.07.17: - 添加 rsync 包。
2017 年 5 月 27 日: - 重新设置为 alpine linux 3.6。
2017 年 2 月 6 日: - 重新设置为 alpine linux 3.5。
2017 年 1 月 15 日: - 添加 p7zip、tar、unrar 和 unzip 软件包。
16.10.16: - 带有可选身份验证的阻止列表自动更新。
14.10.16: - 添加版本层信息E。
23.09.16: - 在 README 中添加有关保护 WebUI 的信息。
21.09.16: - 添加curl 包。
2016 年 9 月 9 日: - 将图层徽章添加到自述文件中。
2016 年 8 月 28 日: - 将徽章添加到自述文件中。
2016 年 9 月 8 日: - 重新设置为 alpine linux。
06.12.15: - 监视文件夹的单独映射。
2015 年 16 月 11 日: - 初始版本。

评论区