-
Notifications
You must be signed in to change notification settings - Fork 51
Description
Running Docker version 27.5.0, build a187fa5 on Ubuntu 24.04.1 LTS.
The host computer running Ubuntu/docker is on 192.168.5.254
The client computer connecting to transmission is on 192.168.5.12
I used this docker run command:
docker run --mount type=bind,src==/var/lib/transmission-daemon/downloads --env=ACTIVATION_CODE= --env=SERVER=usde --env=T_ALLOWED=<my local subnet ie. 192.168.5.*> --env=T_USERNAME=don --env=T_PASSWORD=welcome --cap-add=NET_ADMIN --device=/dev/net/tun --privileged --detach=true --tty=true -p 9091:9091 --name=expressvpn-transmission polkaned/expressvpn-transmission
This creates the container and is runs fine.
docker inspect expressvpn-transmission
[
{
"Id": "4c8803e1b9468dd7a3d7ff6fdb11d69cd6eea74f2526f2942b5785ee2ac6f3a4",
"Created": "2025-01-19T18:20:14.397960348Z",
"Path": "/bin/bash",
"Args": [
"/tmp/entrypoint.sh",
"/bin/bash",
"/tmp/transmission.sh"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 6940,
"ExitCode": 0,
"Error": "",
"StartedAt": "2025-01-19T18:20:14.511772009Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:565f06fbfc21fdde9622daf4d5b46057919200c98d30bb670c01e43c3237cf8d",
"ResolvConfPath": "/var/lib/docker/containers/4c8803e1b9468dd7a3d7ff6fdb11d69cd6eea74f2526f2942b5785ee2ac6f3a4/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/4c8803e1b9468dd7a3d7ff6fdb11d69cd6eea74f2526f2942b5785ee2ac6f3a4/hostname",
"HostsPath": "/var/lib/docker/containers/4c8803e1b9468dd7a3d7ff6fdb11d69cd6eea74f2526f2942b5785ee2ac6f3a4/hosts",
"LogPath": "/var/lib/docker/containers/4c8803e1b9468dd7a3d7ff6fdb11d69cd6eea74f2526f2942b5785ee2ac6f3a4/4c8803e1b9468dd7a3d7ff6fdb11d69cd6eea74f2526f2942b5785ee2ac6f3a4-json.log",
"Name": "/expressvpn-transmission",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": [
"41d8ffaafcbd5d56de304e4c201d6e318b41a82b1b2c190752ed8200a0af6183"
],
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge",
"PortBindings": {
"9091/tcp": [
{
"HostIp": "",
"HostPort": "9091"
}
]
},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"ConsoleSize": [
24,
80
],
"CapAdd": [
"NET_ADMIN"
],
"CapDrop": null,
"CgroupnsMode": "private",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": true,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": [
"label=disable"
],
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": [],
"BlkioDeviceWriteBps": [],
"BlkioDeviceReadIOps": [],
"BlkioDeviceWriteIOps": [],
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [
{
"PathOnHost": "/dev/net/tun",
"PathInContainer": "/dev/net/tun",
"CgroupPermissions": "rwm"
}
],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": null,
"PidsLimit": null,
"Ulimits": [],
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"Mounts": [
{
"Type": "bind",
"Source": "",
"Target": "/var/lib/transmission-daemon/downloads"
}
],
"MaskedPaths": null,
"ReadonlyPaths": null
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ccdf0c1cb9e89715b2441ba74c61e22c74361c5eeb894fdc2da0d516228dae25-init/diff:/var/lib/docker/overlay2/6b05ed485c43a72295db2b6c76df9fc10bd2f4f9e8a9170a3c2fda72dc8a8d56/diff:/var/lib/docker/overlay2/c9ceabcedf2ffb82d1438166a29b1e71133aa10a579107853e668cd0f7c51731/diff:/var/lib/docker/overlay2/39ab4ebde9ec726bf4ba831ad42d4c6f1d0a617bbd3ca63bc602c8f56005a1a5/diff:/var/lib/docker/overlay2/734637fdbf3485135b13ea928f52f15f11662dfc7324c19d47a0679a0b4b76e4/diff:/var/lib/docker/overlay2/2286992a45c698410c49bde449c0bf1a330634234a09a384452264d71243d465/diff:/var/lib/docker/overlay2/2b90ab69245d10c2b650a90423c6bb8ddbec0781d53e9b3784e4d14c9b6813c4/diff",
"MergedDir": "/var/lib/docker/overlay2/ccdf0c1cb9e89715b2441ba74c61e22c74361c5eeb894fdc2da0d516228dae25/merged",
"UpperDir": "/var/lib/docker/overlay2/ccdf0c1cb9e89715b2441ba74c61e22c74361c5eeb894fdc2da0d516228dae25/diff",
"WorkDir": "/var/lib/docker/overlay2/ccdf0c1cb9e89715b2441ba74c61e22c74361c5eeb894fdc2da0d516228dae25/work"
},
"Name": "overlay2"
},
"Mounts": [
{
"Type": "bind",
"Source": "Host directory name",
"Destination": "/var/lib/transmission-daemon/downloads",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "4c8803e1b946",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"9091/tcp": {}
},
"Tty": true,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"T_USERNAME=don",
"T_PASSWORD=welcome",
"ACTIVATION_CODE=EYYXUBR4NUMLCJWJ8YLZHUB",
"SERVER=usde",
"T_ALLOWED=192.168.5.*",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LOCATION=smart",
"PREFERRED_PROTOCOL=auto",
"LIGHTWAY_CIPHER=auto"
],
"Cmd": [
"/bin/bash",
"/tmp/transmission.sh"
],
"Image": "polkaned/expressvpn-transmission",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"/bin/bash",
"/tmp/entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "benjamin@polkaned.net"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "56d3b296c55391433a04a10071447acc6b53414fe1cb479e8be1afc70d03419c",
"SandboxKey": "/var/run/docker/netns/56d3b296c553",
"Ports": {
"9091/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "9091"
}
]
},
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "5f59b1ef4e549b53d94dab5399cd73513a8cd596997bdd2187ae219b466b5207",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:03",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "02:42:ac:11:00:03",
"DriverOpts": null,
"NetworkID": "6f8fcc542bfeeed3e6ac95ab7924cb22ea99d1ec317e36b2c3d0835507a5b313",
"EndpointID": "5f59b1ef4e549b53d94dab5399cd73513a8cd596997bdd2187ae219b466b5207",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
}
}
]
When I connect to a container shell:
expressvpn status: shows connected to Denver
ip address: shows the container local address is 172.17.0.3 and the tunnel address is an expressvpn assigned address and dns (peer)
When I try to connect to transmission http://192.168.5.254 the container host address> from a local host on the 192.168.5.x network I get:
403: Forbidden
Unauthorized IP Address.
Either disable the IP address whitelist or add your address to it.
If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.
If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.
So, I go to the Ubuntu/docker host and run Firefox. http://127.0.0.1:9091 I see the same 403 error as above.
At the docker host in Firefox httpd://172.17.0.3 returns
Unable to connect
Firefox can’t establish a connection to the server at 172.17.0.3:9091.
The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any pages, check your computer’s network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the web.
Please advise how I can connect to Transmission in this container.
Thanks.