Transmission with WireGuard
| Description / name | Input element |
|---|---|
| Container Registry | |
| Container Configuration Root Path | |
| Global /downloads Path | |
| Timezone | |
| User ID | |
| Group ID | |
| Transmission with WireGuard Host Port | |
| Transmission with WireGuard /config Path | |
| Transmission with WireGuard /watch Path |
Transmission BitTorrent client with built-in WireGuard VPN support.
| Port | 9091 |
| Registry | ghcr.io/daemonless/transmission-wireguard |
| Daemonless | daemonless/transmission-wireguard |
| Source | transmission/transmission |
| Website | transmissionbt.com |
Version Tags
| Tag | Description | Best For |
|---|---|---|
latest / pkg |
FreeBSD Quarterly. Uses stable, tested packages. | Most users. Matches Linux Docker behavior. |
pkg-latest |
FreeBSD Latest. Rolling package updates. | Newest FreeBSD packages. |
Root Privileges Required
Podman on FreeBSD currently requires root. All commands must be run as root (or via doas/sudo).
Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.
Deployment
Interactive Configuration
Parameters
Environment Variables
| Variable | Default | Description |
|---|---|---|
WG_PRIVATE_KEY |
your-private-key |
Your WireGuard private key |
WG_PEER_PUBLIC_KEY |
vpn-server-public-key |
VPN server's public key |
WG_ENDPOINT |
vpn.example.com:51820 |
VPN server address (host:port) |
WG_ADDRESS |
10.5.0.2/32 |
Your tunnel IP address (default: 10.5.0.2/32) |
WG_DNS |
1.1.1.1 |
DNS server to use (default: 1.1.1.1) |
PUID |
1000 |
User ID for the application process |
PGID |
1000 |
Group ID for the application process |
TZ |
UTC |
Timezone for the container |
Volumes
| Path | Description |
|---|---|
/config |
Configuration directory (settings.json, WireGuard configs) |
/downloads |
Download directory |
/watch |
Watch directory for torrent files |
Ports
| Port | Protocol | Description |
|---|---|---|
9091 |
TCP | Web UI |
51413 |
TCP | Torrent traffic (TCP/UDP) |
51413 |
UDP | Torrent traffic (TCP/UDP) |
WireGuard Setup
Host Requirements
Load the WireGuard kernel module on the host:
VNET Required
This container requires its own network stack. Add the annotation:
Getting VPN Credentials
From your VPN provider (Mullvad, PIA, ProtonVPN, etc.), get:
- Private Key - Your client private key
- Public Key - The VPN server's public key
- Endpoint - Server address like vpn.example.com:51820
- Address - Your assigned tunnel IP
Kill Switch
Traffic is routed through the VPN interface. If the VPN connection drops, Transmission loses connectivity - no IP leaks.
Verifying VPN
Check your public IP from inside the container:
Implementation Details
- Architectures: amd64
- User:
bsd(UID/GID set via PUID/PGID). Defaults to1000:1000. - Base: Built on
ghcr.io/daemonless/base(FreeBSD 15.1).
Need help? Join our Discord community.