Rebase to Alpine 3.9, add themes to baseimage, add python and findutil

This commit is contained in:
thelamer
2019-02-24 21:35:29 -08:00
parent c19cc1b923
commit f740cde12d
7 changed files with 102 additions and 16 deletions

View File

@@ -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/ /

View File

@@ -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/ /

View File

@@ -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
View File

@@ -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'
} }

View File

@@ -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://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn) [![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
[![](https://images.microbadger.com/badges/version/linuxserver/transmission.svg)](https://microbadger.com/images/linuxserver/transmission "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/version/linuxserver/transmission.svg)](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.

View File

@@ -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

View File

@@ -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." }