mirror of
https://github.com/linuxserver/docker-transmission.git
synced 2025-12-17 21:49:44 +01:00
Compare commits
51 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad5f6ecfaa | ||
|
|
9f73545a49 | ||
|
|
14ced70888 | ||
|
|
4302df7270 | ||
|
|
2a202a800f | ||
|
|
227da52355 | ||
|
|
8fc46f45ec | ||
|
|
0461071b92 | ||
|
|
9fb8dcd358 | ||
|
|
328068e20d | ||
|
|
9091730d00 | ||
|
|
4246f944d6 | ||
|
|
b4e526cedf | ||
|
|
f0c27ab450 | ||
|
|
244f5c6810 | ||
|
|
d22fdb48dc | ||
|
|
97dfe76a57 | ||
|
|
76293d786a | ||
|
|
1f0f18517d | ||
|
|
f505697081 | ||
|
|
d9420323ac | ||
|
|
5138709d55 | ||
|
|
f7490f4fd7 | ||
|
|
6bad2d716e | ||
|
|
72c8df500e | ||
|
|
a1b5353ea2 | ||
|
|
96a625b9cd | ||
|
|
90510c1308 | ||
|
|
401a469bb8 | ||
|
|
8d7f56dcde | ||
|
|
c3e2acd4c9 | ||
|
|
4f5055dc4a | ||
|
|
2329699f53 | ||
|
|
8538165d17 | ||
|
|
d322a13696 | ||
|
|
33589b220f | ||
|
|
3da388bba1 | ||
|
|
fcd4c32ba5 | ||
|
|
e97bd50b83 | ||
|
|
ad91ae6396 | ||
|
|
eecebfb5c2 | ||
|
|
6c1e5e273a | ||
|
|
3420cab227 | ||
|
|
39909f7c4b | ||
|
|
9253db127d | ||
|
|
44c007bebb | ||
|
|
f310f9de7a | ||
|
|
044d7fc580 | ||
|
|
29d0edf931 | ||
|
|
4a478efa62 | ||
|
|
3142aea0d1 |
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@@ -0,0 +1,6 @@
|
||||
.git
|
||||
.gitignore
|
||||
.github
|
||||
.gitattributes
|
||||
READMETEMPLATE.md
|
||||
README.md
|
||||
17
.gitattributes
vendored
Normal file
17
.gitattributes
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
<!--- Provide a general summary of the issue in the Title above -->
|
||||
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[][linuxserverurl]
|
||||
|
||||
|
||||
<!--- If you have an issue with the project, please provide us with the following information -->
|
||||
|
||||
<!--- Host OS -->
|
||||
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
|
||||
<!--- Docker log output, docker log <container-name> -->
|
||||
<!--- Mention if you're using symlinks on any of the volume mounts. -->
|
||||
|
||||
|
||||
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
|
||||
|
||||
<!--- What you think your suggestion brings to the project, or fixes with the project -->
|
||||
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
|
||||
|
||||
## Thanks, team linuxserver.io
|
||||
|
||||
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
<!--- Provide a general summary of your changes in the Title above -->
|
||||
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[][linuxserverurl]
|
||||
|
||||
|
||||
<!--- Before submitting a pull request please check the following -->
|
||||
|
||||
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
|
||||
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
|
||||
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
|
||||
<!--- -->
|
||||
|
||||
## Thanks, team linuxserver.io
|
||||
|
||||
43
.gitignore
vendored
Normal file
43
.gitignore
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
# =========================
|
||||
# Operating System Files
|
||||
# =========================
|
||||
|
||||
# OSX
|
||||
# =========================
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear on external disk
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
24
Dockerfile
24
Dockerfile
@@ -1,12 +1,26 @@
|
||||
FROM lsiobase/alpine
|
||||
MAINTAINER sparklyballs
|
||||
FROM lsiobase/alpine:3.8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="sparklyballs"
|
||||
|
||||
# install packages
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add --no-cache \
|
||||
transmission-daemon
|
||||
curl \
|
||||
jq \
|
||||
openssl \
|
||||
p7zip \
|
||||
rsync \
|
||||
tar \
|
||||
transmission-cli \
|
||||
transmission-daemon \
|
||||
unrar \
|
||||
unzip
|
||||
|
||||
# copy local files
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
|
||||
71
README.md
71
README.md
@@ -1,15 +1,24 @@
|
||||

|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[forumurl]: https://forum.linuxserver.io
|
||||
[ircurl]: https://www.linuxserver.io/irc/
|
||||
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||
[appurl]: https://www.transmissionbt.com/
|
||||
[hub]: https://hub.docker.com/r/linuxserver/transmission/
|
||||
|
||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
||||
* [forum.linuxserver.io](https://forum.linuxserver.io)
|
||||
* [IRC](https://www.linuxserver.io/index.php/irc/) on freenode at `#linuxserver.io`
|
||||
* [Podcast](https://www.linuxserver.io/index.php/category/podcast/) covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||
[][linuxserverurl]
|
||||
|
||||
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
||||
* [forum.linuxserver.io][forumurl]
|
||||
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||
* [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://microbadger.com/images/linuxserver/transmission "Get your own version badge on microbadger.com")[](https://microbadger.com/images/linuxserver/transmission "Get your own image badge on microbadger.com")[][hub][][hub][](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-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/)
|
||||
|
||||
[][appurl]
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
@@ -24,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)
|
||||
@@ -52,14 +67,56 @@ In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as bel
|
||||
|
||||
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.
|
||||
|
||||
## Securing the webui with a username/password.
|
||||
|
||||
this requires 3 settings to be changed in the settings.json file.
|
||||
|
||||
`Make sure the container is stopped before editing these settings.`
|
||||
|
||||
`"rpc-authentication-required": true,` - check this, the default is false, change to true.
|
||||
|
||||
`"rpc-username": "transmission",` substitute transmission for your chosen user name, this is just an example.
|
||||
|
||||
`rpc-password` will be a hash starting with {, replace everything including the { with your chosen password, keeping the quotes.
|
||||
|
||||
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
|
||||
|
||||
+ **15.08.18:** Rebase to alpine linux 3.8.
|
||||
+ **12.02.18:** Pull transmission from edge repo.
|
||||
+ **10.01.18:** Rebase to alpine linux 3.7.
|
||||
+ **25.07.17:** Add rsync package.
|
||||
+ **27.05.17:** Rebase to alpine linux 3.6.
|
||||
+ **06.02.17:** Rebase to alpine linux 3.5.
|
||||
+ **15.01.17:** Add p7zip, tar , unrar and unzip packages.
|
||||
+ **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.
|
||||
+ **28.08.16:** Add badges to README.
|
||||
+ **09.08.16:** Rebase to alpine linux.
|
||||
+ **06.12.15:** Separate mapping for watch folder.
|
||||
+ **16.11.15:** Initial Release.
|
||||
|
||||
20
root/defaults/blocklist-update.sh
Normal file
20
root/defaults/blocklist-update.sh
Normal 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
|
||||
@@ -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
10
root/etc/crontabs/root
Normal 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
|
||||
3
root/etc/services.d/cron/run
Normal file
3
root/etc/services.d/cron/run
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
/usr/sbin/crond -f -S -l 0 -c /etc/crontabs
|
||||
Reference in New Issue
Block a user