Transmission (#122)

Closes #52.

Co-authored-by: Alexey Skobkin <skobkin-ru@ya.ru>
Reviewed-on: #122
This commit is contained in:
Alexey Skobkin 2024-09-21 02:17:22 +00:00
parent 3e058d228f
commit 45d14a6a79
7 changed files with 68 additions and 1 deletions

View file

@ -78,5 +78,6 @@ Not every stack is tested to fully work.
| Telegram RSS Bot | ✅ | `miroslavsckaya/tg-rss-bot` | Telegram RSS Bot by @Miroslavsckaya. | [Gitea](https://git.skobk.in/Miroslavsckaya/tg_rss_bot/), [Github Mirror](https://github.com/Miroslavsckaya/tg_rss_bot) |
| Tor OBFS4 Bridge | ✅ | `thetorproject/obfs4-bridge` | Tor OBFS4 Bridge for Tor blocking bypass. | [Website](https://community.torproject.org/relay/setup/bridge/), [Gitlab](https://gitlab.torproject.org/tpo/anti-censorship/docker-obfs4-bridge), [Manual](https://community.torproject.org/relay/setup/bridge/docker/) |
| Tor Privoxy | ✅ | `registry.gitlab.com/skobkin/torproxy-obfs4` | Tor image with integrated privoxy and OBFS4 bridge support. | [Original image Github](https://github.com/dperson/torproxy), [OBFS4 support image Gitlab](https://gitlab.com/skobkin/torproxy-obfs4) |
| Transmission | ✅ | `lscr.io/linuxserver/transmission` | Torrent client suitable for NAS. | [Github](https://github.com/linuxserver/docker-transmission), [LinuxServer Fleet](https://hub.docker.com/r/linuxserver/transmission) |
| Watchtower | ✅ | `containrrr/watchtower` | Docker container auto-update daemon. | [Website](https://containrrr.dev/watchtower/), [Github](https://github.com/containrrr/watchtower) |
| Webhook.site | | `webhooksite/webhook.site` | HTTP callback testing tool | [Website](https://webhook.site), [Github](https://github.com/webhooksite/webhook.site) |

View file

@ -22,4 +22,3 @@ services:
options:
max-size: "${LOG_MAX_SIZE:-5m}"
max-file: "${LOG_MAX_FILE:-5}"
# TODO: try to integrate with neilpang/acme.sh

28
transmission/.env.dist Normal file
View file

@ -0,0 +1,28 @@
# https://hub.docker.com/r/linuxserver/transmission
IMAGE_TAG=latest
AUTH_USER=username
AUTH_PASSWORD=*ChangeThis*
USER_ID=1000
GROUP_ID=1000
#UMASK=022
P2P_PORT=6882
#WEB_ADDRESS=127.0.0.1
WEB_PORT=9091
#NETWORK_MODE=host
DIR_CONFIG_EXT=./config
DIR_DOWNLOAD_EXT=./downloads
DIR_DOWNLOAD_INT=/downloads
#DIR_TMP_DOWNLOAD_EXT=/path/to/unfinished/downloads
#DIR_TMP_DOWNLOAD_INT=/downloads_tmp
DIR_WATCH_EXT=./watch
TIMEZONE=Europe/Moscow
LOG_MAX_SIZE=5m
LOG_MAX_FILE=5

2
transmission/config/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/*
!/.gitignore

View file

@ -0,0 +1,33 @@
services:
transmission:
image: 'lscr.io/linuxserver/transmission:${IMAGE_TAG:-latest}'
container_name: 'transmission'
environment:
- 'PUID=${USER_ID:-1000}'
- 'PGID=${GROUP_ID:-1000}'
- 'TZ=${TIMEZONE:-Europe/Moscow}'
#- TRANSMISSION_WEB_HOME= #optional
- 'USER=${AUTH_USER}'
- 'PASS=${AUTH_PASSWORD}'
#- WHITELIST= #optional
- 'PEERPORT=${P2P_PORT:-6882}'
#- HOST_WHITELIST= #optional
env_file: '.env'
volumes:
- '${DIR_CONFIG_EXT:-./config}:/config'
- '${DIR_DOWNLOAD_EXT:-./downloads}:${DIR_DOWNLOAD_INT:-/downloads}'
# Separate download cache directory in case you store unfinished torrents on SSD
# Use with `"incomplete-dir-enabled": true` in the settings.json. This is `incomplete-dir` parameter.
- '${DIR_TMP_DOWNLOAD_EXT:-/dev/null}:${DIR_TMP_DOWNLOAD_INT:-/dev/null}'
- '${DIR_WATCH_EXT:-./watch}:/watch'
network_mode: '${NETWORK_MODE:-bridge}'
ports:
- '${WEB_ADDRESS:-0.0.0.0}:${WEB_PORT:-9091}:${WEB_PORT:-9091}'
- '${P2P_PORT:-51413}:${P2P_PORT:-51413}'
- '${P2P_PORT:-51413}:${P2P_PORT:-51413}/udp'
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '${LOG_MAX_SIZE:-5m}'
max-file: '${LOG_MAX_FILE:-5}'

2
transmission/downloads/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/*
!/.gitignore

2
transmission/watch/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/*
!/.gitignore