mirror of
https://github.com/linuxserver/docker-transmission.git
synced 2025-10-26 06:36:05 +01:00
Rebase to Alpine 3.9, add themes to baseimage, add python and findutil
This commit is contained in:
29
Dockerfile
29
Dockerfile
@@ -1,4 +1,4 @@
|
|||||||
FROM lsiobase/alpine:3.8
|
FROM lsiobase/alpine:3.9
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -10,15 +10,40 @@ RUN \
|
|||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
curl \
|
curl \
|
||||||
|
findutils \
|
||||||
jq \
|
jq \
|
||||||
openssl \
|
openssl \
|
||||||
p7zip \
|
p7zip \
|
||||||
|
python \
|
||||||
rsync \
|
rsync \
|
||||||
tar \
|
tar \
|
||||||
transmission-cli \
|
transmission-cli \
|
||||||
transmission-daemon \
|
transmission-daemon \
|
||||||
unrar \
|
unrar \
|
||||||
unzip
|
unzip && \
|
||||||
|
echo "**** install third party themes ****" && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/combustion.zip -L \
|
||||||
|
"https://github.com/Secretmapper/combustion/archive/release.zip" && \
|
||||||
|
unzip \
|
||||||
|
/tmp/combustion.zip -d \
|
||||||
|
/ && \
|
||||||
|
mkdir -p /tmp/twctemp && \
|
||||||
|
TWCVERSION=$(curl -sX GET "https://api.github.com/repos/ronggang/transmission-web-control/releases/latest" \
|
||||||
|
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/twc.tar.gz -L \
|
||||||
|
"https://github.com/ronggang/transmission-web-control/archive/${TWCVERSION}.tar.gz" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/twc.tar.gz -C \
|
||||||
|
/tmp/twctemp --strip-components=1 && \
|
||||||
|
mv /tmp/twctemp/src /transmission-web-control && \
|
||||||
|
echo "**** cleanup ****" && \
|
||||||
|
rm -rf \
|
||||||
|
/tmp/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# copy local files
|
# copy local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM lsiobase/alpine.arm64:3.8
|
FROM lsiobase/alpine.arm64:3.9
|
||||||
|
|
||||||
# Add qemu to build on x86_64 systems
|
# Add qemu to build on x86_64 systems
|
||||||
COPY qemu-aarch64-static /usr/bin
|
COPY qemu-aarch64-static /usr/bin
|
||||||
@@ -13,15 +13,40 @@ RUN \
|
|||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
curl \
|
curl \
|
||||||
|
findutils \
|
||||||
jq \
|
jq \
|
||||||
openssl \
|
openssl \
|
||||||
p7zip \
|
p7zip \
|
||||||
|
python \
|
||||||
rsync \
|
rsync \
|
||||||
tar \
|
tar \
|
||||||
transmission-cli \
|
transmission-cli \
|
||||||
transmission-daemon \
|
transmission-daemon \
|
||||||
unrar \
|
unrar \
|
||||||
unzip
|
unzip && \
|
||||||
|
echo "**** install third party themes ****" && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/combustion.zip -L \
|
||||||
|
"https://github.com/Secretmapper/combustion/archive/release.zip" && \
|
||||||
|
unzip \
|
||||||
|
/tmp/combustion.zip -d \
|
||||||
|
/ && \
|
||||||
|
mkdir -p /tmp/twctemp && \
|
||||||
|
TWCVERSION=$(curl -sX GET "https://api.github.com/repos/ronggang/transmission-web-control/releases/latest" \
|
||||||
|
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/twc.tar.gz -L \
|
||||||
|
"https://github.com/ronggang/transmission-web-control/archive/${TWCVERSION}.tar.gz" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/twc.tar.gz -C \
|
||||||
|
/tmp/twctemp --strip-components=1 && \
|
||||||
|
mv /tmp/twctemp/src /transmission-web-control && \
|
||||||
|
echo "**** cleanup ****" && \
|
||||||
|
rm -rf \
|
||||||
|
/tmp/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# copy local files
|
# copy local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM lsiobase/alpine.armhf:3.8
|
FROM lsiobase/alpine.armhf:3.9
|
||||||
|
|
||||||
# Add qemu to build on x86_64 systems
|
# Add qemu to build on x86_64 systems
|
||||||
COPY qemu-arm-static /usr/bin
|
COPY qemu-arm-static /usr/bin
|
||||||
@@ -13,15 +13,40 @@ RUN \
|
|||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
curl \
|
curl \
|
||||||
|
findutils \
|
||||||
jq \
|
jq \
|
||||||
openssl \
|
openssl \
|
||||||
p7zip \
|
p7zip \
|
||||||
|
python \
|
||||||
rsync \
|
rsync \
|
||||||
tar \
|
tar \
|
||||||
transmission-cli \
|
transmission-cli \
|
||||||
transmission-daemon \
|
transmission-daemon \
|
||||||
unrar \
|
unrar \
|
||||||
unzip
|
unzip && \
|
||||||
|
echo "**** install third party themes ****" && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/combustion.zip -L \
|
||||||
|
"https://github.com/Secretmapper/combustion/archive/release.zip" && \
|
||||||
|
unzip \
|
||||||
|
/tmp/combustion.zip -d \
|
||||||
|
/ && \
|
||||||
|
mkdir -p /tmp/twctemp && \
|
||||||
|
TWCVERSION=$(curl -sX GET "https://api.github.com/repos/ronggang/transmission-web-control/releases/latest" \
|
||||||
|
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/twc.tar.gz -L \
|
||||||
|
"https://github.com/ronggang/transmission-web-control/archive/${TWCVERSION}.tar.gz" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/twc.tar.gz -C \
|
||||||
|
/tmp/twctemp --strip-components=1 && \
|
||||||
|
mv /tmp/twctemp/src /transmission-web-control && \
|
||||||
|
echo "**** cleanup ****" && \
|
||||||
|
rm -rf \
|
||||||
|
/tmp/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# copy local files
|
# copy local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|||||||
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@@ -96,7 +96,7 @@ pipeline {
|
|||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: ''' curl -s http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/ |awk -F '(transmission-cli-|.apk)' '/transmission-cli.*.apk/ {print $2}' ''',
|
script: ''' curl -s http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/ |awk -F '(transmission-cli-|.apk)' '/transmission-cli.*.apk/ {print $2}' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.RELEASE_LINK = 'custom_command'
|
env.RELEASE_LINK = 'custom_command'
|
||||||
}
|
}
|
||||||
|
|||||||
17
README.md
17
README.md
@@ -14,12 +14,6 @@ Find us at:
|
|||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
||||||
|
|
||||||
# PSA: Changes are happening
|
|
||||||
|
|
||||||
From August 2018 onwards, Linuxserver are in the midst of switching to a new CI platform which will enable us to build and release multiple architectures under a single repo. To this end, existing images for `arm64` and `armhf` builds are being deprecated. They are replaced by a manifest file in each container which automatically pulls the correct image for your architecture. You'll also be able to pull based on a specific architecture tag.
|
|
||||||
|
|
||||||
TLDR: Multi-arch support is changing from multiple repos to one repo per container image.
|
|
||||||
|
|
||||||
# [linuxserver/transmission](https://github.com/linuxserver/docker-transmission)
|
# [linuxserver/transmission](https://github.com/linuxserver/docker-transmission)
|
||||||
[](https://discord.gg/YWrKVTn)
|
[](https://discord.gg/YWrKVTn)
|
||||||
[](https://microbadger.com/images/linuxserver/transmission "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/transmission "Get your own version badge on microbadger.com")
|
||||||
@@ -35,7 +29,7 @@ TLDR: Multi-arch support is changing from multiple repos to one repo per contain
|
|||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list).
|
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||||
|
|
||||||
Simply pulling `linuxserver/transmission` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `linuxserver/transmission` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||||
|
|
||||||
@@ -60,6 +54,7 @@ docker create \
|
|||||||
-e PUID=1001 \
|
-e PUID=1001 \
|
||||||
-e PGID=1001 \
|
-e PGID=1001 \
|
||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
|
-e TRANSMISSION_WEB_HOME=/combustion-release/ `#optional` \
|
||||||
-p 9091:9091 \
|
-p 9091:9091 \
|
||||||
-p 51413:51413 \
|
-p 51413:51413 \
|
||||||
-p 51413:51413/udp \
|
-p 51413:51413/udp \
|
||||||
@@ -86,6 +81,7 @@ services:
|
|||||||
- PUID=1001
|
- PUID=1001
|
||||||
- PGID=1001
|
- PGID=1001
|
||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
|
- TRANSMISSION_WEB_HOME=/combustion-release/ #optional
|
||||||
volumes:
|
volumes:
|
||||||
- <path to data>:/config
|
- <path to data>:/config
|
||||||
- <path to downloads>:/downloads
|
- <path to downloads>:/downloads
|
||||||
@@ -110,6 +106,7 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e PUID=1001` | for UserID - see below for explanation |
|
| `-e PUID=1001` | for UserID - see below for explanation |
|
||||||
| `-e PGID=1001` | for GroupID - see below for explanation |
|
| `-e PGID=1001` | for GroupID - see below for explanation |
|
||||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
||||||
|
| `-e TRANSMISSION_WEB_HOME=/combustion-release/` | Specify an alternative UI options are `/combustion-release/` and `/transmission-web-control/`. |
|
||||||
| `-v /config` | Where transmission should store config files and logs. |
|
| `-v /config` | Where transmission should store config files and logs. |
|
||||||
| `-v /downloads` | Local path for downloads. |
|
| `-v /downloads` | Local path for downloads. |
|
||||||
| `-v /watch` | Watch folder for torrent files. |
|
| `-v /watch` | Watch folder for torrent files. |
|
||||||
@@ -132,6 +129,11 @@ In this instance `PUID=1001` and `PGID=1001`, to find yours use `id user` as bel
|
|||||||
## Application Setup
|
## Application Setup
|
||||||
|
|
||||||
Webui is on port 9091, the settings.json file in /config has extra settings not available in the webui. Stop the container before editing it or any changes won't be saved.
|
Webui is on port 9091, the settings.json file in /config has extra settings not available in the webui. Stop the container before editing it or any changes won't be saved.
|
||||||
|
|
||||||
|
For users pulling an update and unable to access the webui setting you may need to set "rpc-host-whitelist-enabled": false, in /config/settings.json`
|
||||||
|
|
||||||
|
If you choose to use transmission-web-control as your default UI, just note that the origional Web UI will not be available to you despite the button being present.
|
||||||
|
|
||||||
## Securing the webui with a username/password.
|
## Securing the webui with a username/password.
|
||||||
|
|
||||||
this requires 3 settings to be changed in the settings.json file.
|
this requires 3 settings to be changed in the settings.json file.
|
||||||
@@ -186,6 +188,7 @@ Below are the instructions for updating containers:
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **22.02.19:** - Rebase to Alpine 3.9, add themes to baseimage, add python and findutils.
|
||||||
* **22.02.19:** - Catch term and clean exit.
|
* **22.02.19:** - Catch term and clean exit.
|
||||||
* **07.02.19:** - Add pipeline logic and multi arch.
|
* **07.02.19:** - Add pipeline logic and multi arch.
|
||||||
* **15.08.18:** - Rebase to alpine linux 3.8.
|
* **15.08.18:** - Rebase to alpine linux 3.8.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-transmission
|
project_name: docker-transmission
|
||||||
external_type: na
|
external_type: na
|
||||||
custom_version_command: "curl -s http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/ |awk -F '(transmission-cli-|.apk)' '/transmission-cli.*.apk/ {print $2}'"
|
custom_version_command: "curl -s http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/ |awk -F '(transmission-cli-|.apk)' '/transmission-cli.*.apk/ {print $2}'"
|
||||||
release_type: stable
|
release_type: stable
|
||||||
release_tag: latest
|
release_tag: latest
|
||||||
ls_branch: master
|
ls_branch: master
|
||||||
|
|||||||
@@ -38,7 +38,9 @@ param_device_map: false
|
|||||||
cap_add_param: false
|
cap_add_param: false
|
||||||
|
|
||||||
# optional container parameters
|
# optional container parameters
|
||||||
opt_param_usage_include_env: false
|
opt_param_usage_include_env: true
|
||||||
|
opt_param_env_vars:
|
||||||
|
- { env_var: "TRANSMISSION_WEB_HOME", env_value: "/combustion-release/", desc: "Specify an alternative UI options are `/combustion-release/` and `/transmission-web-control/`." }
|
||||||
opt_param_usage_include_vols: false
|
opt_param_usage_include_vols: false
|
||||||
opt_param_usage_include_ports: false
|
opt_param_usage_include_ports: false
|
||||||
opt_param_device_map: false
|
opt_param_device_map: false
|
||||||
@@ -49,6 +51,11 @@ optional_block_1: false
|
|||||||
app_setup_block_enabled: true
|
app_setup_block_enabled: true
|
||||||
app_setup_block: |
|
app_setup_block: |
|
||||||
Webui is on port 9091, the settings.json file in /config has extra settings not available in the webui. Stop the container before editing it or any changes won't be saved.
|
Webui is on port 9091, the settings.json file in /config has extra settings not available in the webui. Stop the container before editing it or any changes won't be saved.
|
||||||
|
|
||||||
|
For users pulling an update and unable to access the webui setting you may need to set "rpc-host-whitelist-enabled": false, in /config/settings.json`
|
||||||
|
|
||||||
|
If you choose to use transmission-web-control as your default UI, just note that the origional Web UI will not be available to you despite the button being present.
|
||||||
|
|
||||||
## Securing the webui with a username/password.
|
## Securing the webui with a username/password.
|
||||||
|
|
||||||
this requires 3 settings to be changed in the settings.json file.
|
this requires 3 settings to be changed in the settings.json file.
|
||||||
@@ -74,6 +81,7 @@ app_setup_block: |
|
|||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
|
||||||
|
- { date: "22.02.19:", desc: "Rebase to Alpine 3.9, add themes to baseimage, add python and findutils." }
|
||||||
- { date: "22.02.19:", desc: "Catch term and clean exit." }
|
- { date: "22.02.19:", desc: "Catch term and clean exit." }
|
||||||
- { date: "07.02.19:", desc: "Add pipeline logic and multi arch." }
|
- { date: "07.02.19:", desc: "Add pipeline logic and multi arch." }
|
||||||
- { date: "15.08.18:", desc: "Rebase to alpine linux 3.8." }
|
- { date: "15.08.18:", desc: "Rebase to alpine linux 3.8." }
|
||||||
|
|||||||
Reference in New Issue
Block a user