Compare commits

...

14 Commits
26 ... 33

Author SHA1 Message Date
sparklyballs
5138709d55 Merge pull request #18 from phendryx/blocklist-cleanup
Blocklist script cleanup
2016-11-10 05:01:51 +00:00
Paul Hendryx
f7490f4fd7 full path to settings.json 2016-11-03 07:12:13 -04:00
Paul Hendryx
6bad2d716e replace & with &, static filename output for wget 2016-11-02 10:04:54 -04:00
Paul Hendryx
72c8df500e working script from container 2016-11-02 09:39:55 -04:00
Paul Hendryx
a1b5353ea2 fixed update script 2016-11-02 09:38:19 -04:00
sparklyballs
96a625b9cd Merge pull request #16 from phendryx/blocklist-update
Blocklist update
2016-10-30 13:30:10 +00:00
Paul Hendryx
90510c1308 change update script to download blocklist, decompress, restart service. no auth required. 2016-10-19 09:34:04 -04:00
Paul Hendryx
401a469bb8 add newline 2016-10-18 08:53:43 -04:00
Paul Hendryx
8d7f56dcde dockerfile cleanup 2016-10-18 08:53:19 -04:00
Paul Hendryx
c3e2acd4c9 readme version entry 2016-10-18 08:53:15 -04:00
Paul Hendryx
4f5055dc4a blocklist w/ cron 2016-10-18 08:53:05 -04:00
sparklyballs
2329699f53 fix date separator 2016-10-18 03:05:37 +01:00
sparklyballs
8538165d17 add extra parameters info 2016-10-17 23:54:40 +01:00
sparklyballs
d322a13696 add version layer information 2016-10-14 15:27:26 +01:00
6 changed files with 71 additions and 2 deletions

View File

@@ -1,10 +1,17 @@
FROM lsiobase/alpine
MAINTAINER sparklyballs
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
# install packages
RUN \
apk add --no-cache \
curl \
jq \
transmission-cli \
transmission-daemon
# copy local files

View File

@@ -11,7 +11,7 @@ The [LinuxServer.io][linuxserverurl] team brings you another container release f
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
# linuxserver/transmission
[![](https://images.microbadger.com/badges/image/linuxserver/transmission.svg)](http://microbadger.com/images/linuxserver/transmission "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/transmission.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/transmission.svg)][hub][![Build Status](http://jenkins.linuxserver.io:8080/buildStatus/icon?job=Dockers/LinuxServer.io/linuxserver-transmission)](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-transmission/)
[![](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/image/linuxserver/transmission.svg)](http://microbadger.com/images/linuxserver/transmission "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/transmission.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/transmission.svg)][hub][![Build Status](http://jenkins.linuxserver.io:8080/buildStatus/icon?job=Dockers/LinuxServer.io/linuxserver-transmission)](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-transmission/)
[hub]: https://hub.docker.com/r/linuxserver/transmission/
Transmission is designed for easy, powerful use. Transmission has the features you want from a BitTorrent client: encryption, a web interface, peer exchange, magnet links, DHT, µTP, UPnP and NAT-PMP port forwarding, webseed support, watch directories, tracker editing, global and per-torrent speed limits, and more. [Transmission](http://www.transmissionbt.com/about/)
@@ -33,7 +33,13 @@ docker create --name=transmission \
linuxserver/transmission
```
**Parameters**
## Parameters
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
* `-p 9091`
* `-p 51413` - the port(s)
@@ -75,15 +81,31 @@ this requires 3 settings to be changed in the settings.json file.
Transmission will convert it to a hash when you restart the container after making the above edits.
## Updating Blocklists Automatically
This requires `"blocklist-enabled": true,` to be set. By setting this to true, it is assumed you have also populated `blocklist-url` with a valid block list.
The automatic update is a shell script that downloads a blocklist from the url stored in the settings.json, gunzips it, and restarts the transmission daemon.
The automatic update will run once a day at 3am local server time.
## Info
* To monitor the logs of the container in realtime `docker logs -f transmission`.
* container version number
`docker inspect -f '{{ index .Config.Labels "build_version" }}' transmission`
* image version number
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/transmission`
## Versions
+ **16.10.16:** Blocklist autoupdate with optional authentication.
+ **14.10.16:** Add version layer information.
+ **23.09.16:** Add information about securing the webui to README..
+ **21.09.16:** Add curl package.
+ **09.09.16:** Add layer badges to README.

View File

@@ -0,0 +1,20 @@
#!/usr/bin/with-contenv bash
BLOCKLIST_ENABLED=`jq -r '.["blocklist-enabled"]' /config/settings.json`
BLOCKLIST_URL=`jq -r '.["blocklist-url"]' /config/settings.json | sed 's/\&/\&/g'`
if [ $BLOCKLIST_ENABLED == true ]; then
mkdir -p /tmp/blocklists
rm -rf /tmp/blocklists/*
cd /tmp/blocklists
wget -q -O blocklist.gz "$BLOCKLIST_URL"
if [ $? == 0 ]; then
gunzip *.gz
if [ $? == 0 ]; then
chmod go+r *
rm -rf /config/blocklists/*
cp /tmp/blocklists/* /config/blocklists
s6-svc -h /var/run/s6/services/transmission
fi
fi
fi

View File

@@ -8,10 +8,17 @@ mkdir -p \
[[ ! -f /config/settings.json ]] && cp \
/defaults/settings.json /config/settings.json
# copy blocklist-update script
[[ ! -f /config/blocklist-update.sh ]] && cp \
/defaults/blocklist-update.sh /config/blocklist-update.sh
# permissions
chown abc:abc \
/config/settings.json \
/config/blocklist-update.sh \
/downloads \
/downloads/complete \
/downloads/incomplete \
/watch
chmod 755 /config/blocklist-update.sh

10
root/etc/crontabs/root Normal file
View File

@@ -0,0 +1,10 @@
# do daily/weekly/monthly maintenance
# min hour day month weekday command
*/15 * * * * run-parts /etc/periodic/15min
0 * * * * run-parts /etc/periodic/hourly
0 2 * * * run-parts /etc/periodic/daily
0 3 * * 6 run-parts /etc/periodic/weekly
0 5 1 * * run-parts /etc/periodic/monthly
# run daily blocklist update
0 3 * * * /config/blocklist-update.sh 2>&1

View File

@@ -0,0 +1,3 @@
#!/usr/bin/with-contenv bash
/usr/sbin/crond -f -S -l 0 -c /etc/crontabs