Files
docker-transmission/readme-vars.yml
2025-05-20 10:42:08 +00:00

156 lines
8.7 KiB
YAML

---
# project information
project_name: transmission
project_url: "https://www.transmissionbt.com/"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/transmission.png"
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) 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."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Downloaders"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/data", desc: "Where transmission should store config files and logs."}
opt_param_usage_include_vols: true
opt_param_volumes:
- {vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Local path for downloads."}
- {vol_path: "/watch", vol_host_path: "/path/to/watch/folder", desc: "Watch folder for torrent files."}
param_usage_include_ports: true
param_ports:
- {external_port: "9091", internal_port: "9091", port_desc: "WebUI"}
- {external_port: "51413", internal_port: "51413", port_desc: "Torrent Port TCP"}
- {external_port: "51413", internal_port: "51413/udp", port_desc: "Torrent Port UDP"}
# optional container parameters
opt_param_usage_include_env: true
opt_param_env_vars:
- {env_var: "TRANSMISSION_WEB_HOME", env_value: "", desc: "Specify the path to an alternative UI folder."}
- {env_var: "USER", env_value: "", desc: "Specify an optional username for the interface"}
- {env_var: "PASS", env_value: "", desc: "Specify an optional password for the interface"}
- {env_var: "WHITELIST", env_value: "", desc: "Specify an optional list of comma separated ip whitelist. Fills rpc-whitelist setting."}
- {env_var: "PEERPORT", env_value: "", desc: "Specify an optional port for torrent TCP/UDP connections. Fills peer-port setting."}
- {env_var: "HOST_WHITELIST", env_value: "", desc: "Specify an optional list of comma separated dns name whitelist. Fills rpc-host-whitelist setting."}
readonly_supported: true
nonroot_supported: true
# application setup block
app_setup_block_enabled: true
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.
## Securing the webui with a username/password.
Use the `USER` and `PASS` variables in docker run/create/compose to set authentication. Do not manually edit the `settings.json` to input user/pass, otherwise transmission cannot be stopped cleanly by the s6 supervisor.
## 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.
## Using whitelist
Use `WHITELIST` to enable a list of ip as whitelist. This enable support for `rpc-whitelist`. When `WHITELIST` is empty support for whitelist is disabled.
Use `HOST_WHITELIST` to enable an list of dns names as host-whitelist. This enable support for `rpc-host-whitelist`. When `HOST_WHITELIST` is empty support for host-whitelist is disabled.
## Use alternative Transmission torrent ports
Use `PEERPORT` to specify the port(s) Transmission should listen on. This disables random port selection. This should be the same as the port mapped in your docker configuration.
# init diagram
init_diagram: |
"transmission:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-transmission-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-custom-files -> init-services
init-config -> init-transmission-config
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-transmission
svc-transmission -> legacy-services
}
Base Images: {
"baseimage-alpine:edge"
}
"transmission:latest" <- Base Images
# changelog
changelogs:
- {date: "29.11.24:", desc: "Fix PEERPORT setting."}
- {date: "07.10.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar)."}
- {date: "10.08.23:", desc: "Bump unrar to 6.2.10."}
- {date: "10.06.23:", desc: "Bump unrar to 6.2.8, install transmission-extra."}
- {date: "25.05.23:", desc: "Deprecate armhf."}
- {date: "14.05.23:", desc: "Explicitly install transmission-remote."}
- {date: "02.03.23:", desc: "Add cron init to allow user customizable crontabs."}
- {date: "08.02.23:", desc: "Rebase to Alpine Edge to get access to most up to date builds of Transmission. Remove bundled 3rd party UI packages."}
- {date: "05.01.23:", desc: "Rebase to Alpine 3.17, restore GNU findutils package."}
- {date: "02.11.22:", desc: "Rebase to Alpine 3.16, migrate to s6v3."}
- {date: "12.08.22:", desc: "Bump unrar to 6.1.7."}
- {date: "03.04.22:", desc: "Add Transmissionic as a UI option."}
- {date: "21.02.22:", desc: "Build unrar from source, rebase to Alpine 3.15, add symlinks neeeded for TWC. Credit @alexbelgium"}
- {date: "09.07.21:", desc: "Wait for the transmission-daemon termination after a caught sigterm."}
- {date: "06.03.21:", desc: "Add Flood for Transmission as a UI option."}
- {date: "23.01.21:", desc: "Rebasing to alpine 3.13."}
- {date: "02.11.20:", desc: "Add ca-certificates package to allow connecting to https trackers."}
- {date: "02.06.20:", desc: "Rebase to alpine 3.12, update to transmission 3.0, remove python2, add python3."}
- {date: "11.05.20:", desc: "Remove unnecessary chmod (remnant of previous change)."}
- {date: "28.04.20:", desc: "Use transmission-remote to update blocklist."}
- {date: "30.03.20:", desc: "Internalize blocklist-update.sh."}
- {date: "29.03.20:", desc: "Update auth info in readme."}
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
- {date: "04.10.19:", desc: "Update package label."}
- {date: "21.08.19:", desc: "Add optional user/pass environment variables, fix transmission shut down if user/pass are set."}
- {date: "19.07.19:", desc: "Send SIGTERM in blocklist update to properly close pid."}
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
- {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: "07.02.19:", desc: "Add pipeline logic and multi arch."}
- {date: "15.08.18:", desc: "Rebase to alpine linux 3.8."}
- {date: "12.02.18:", desc: "Pull transmission from edge repo."}
- {date: "10.01.18:", desc: "Rebase to alpine linux 3.7."}
- {date: "25.07.17:", desc: "Add rsync package."}
- {date: "27.05.17:", desc: "Rebase to alpine linux 3.6."}
- {date: "06.02.17:", desc: "Rebase to alpine linux 3.5."}
- {date: "15.01.17:", desc: "Add p7zip, tar, unrar, and unzip packages."}
- {date: "16.10.16:", desc: "Blocklist autoupdate with optional authentication."}
- {date: "14.10.16:", desc: "Add version layer informationE."}
- {date: "23.09.16:", desc: "Add information about securing the webui to README."}
- {date: "21.09.16:", desc: "Add curl package."}
- {date: "09.09.16:", desc: "Add layer badges to README."}
- {date: "28.08.16:", desc: "Add badges to README."}
- {date: "09.08.16:", desc: "Rebase to alpine linux."}
- {date: "06.12.15:", desc: "Separate mapping for watch folder."}
- {date: "16.11.15:", desc: "Initial Release."}