A lightweight, headless BitTorrent client based on Alpine Linux, pre-configured with the enhanced Transmission Web Control interface.
Originally created to provide an up-to-date Transmission client specifically for ARMv7 devices, but works on standard x86_64 systems as well.
Here is a ready-to-use docker-compose.yml example.
services:
transmission:
image: atix0/transmission:latest
container_name: transmission
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- RPC_USERNAME=admin
- RPC_PASSWORD=secretpassword
- DOWNLOAD_DIR=/downloads
volumes:
- ./config:/transmission/config
- ./media:/downloads
ports:
- "9091:9091"
- "24661:24661"
- "24661:24661/udp"
This image utilizes a "bootstrap" configuration logic for settings.json.
When the container starts for the first time, it checks for /transmission/config/settings.json. If missing, it generates a new one based on the Environment Variables below.
If settings.json already exists, the container ignores Environment Variables and strictly uses the existing file.
⚠️ Important: Changing ENV variables in Docker Compose after the initial run will have no effect. To apply new ENVs, you must delete
settings.jsonand restart the container to force regeneration, or edit the JSON file manually.
| Variable | Default | Description |
|---|---|---|
RPC_USERNAME | transmission | Username for the Web Interface. |
RPC_PASSWORD | (none) | Password for the Web Interface. |
DOWNLOAD_DIR | /media | The internal path where torrents are saved. |
TZ | UTC | System timezone (e.g., Europe/Budapest). |
| Container Path | Description |
|---|---|
/transmission/config | Stores settings.json, resume data, and .torrent files. |
/downloads | Default path for completed downloads (adjustable via DOWNLOAD_DIR). |
| Port | Protocol | Description |
|---|---|---|
9091 | TCP | Web Interface (Access via http://IP:9091) |
24661 | TCP/UDP | BitTorrent incoming connections (Peer port) |
Content type
Image
Digest
sha256:7a4cb34a7…
Size
12.9 MB
Last updated
3 months ago
docker pull atix0/transmission