engels74/overseerr-anime

Deprecated — do not use for new installs
engels74/overseerr-anime is deprecated and will not receive further updates.
It is based on an old Overseerr anime-instance pull request and may contain
unfixed CVEs inherited from the old Overseerr dependency stack.
Existing users should plan to migrate away from this image. Upstream Overseerr and Jellyseerr have merged into the maintained Seerr project, and new installs should use Seerr instead.
Read more: known CVE context
The final v1.34.0-era Overseerr Anime build contains axios 1.3.4. GitHub
advisory
GHSA-fvcv-3m26-pcqx
tracks CVE-2026-40175, an Unrestricted Cloud Metadata Exfiltration
vulnerability via a header injection chain. The advisory lists axios
>=1.0.0 as vulnerable and >=1.15.0 as patched. This is separate from the
axios package hijack incident.
Seerr patched this in v3.1.1 or later. The v3.1.1 release was published on 2026-04-13. This Docker image will not receive that dependency update.
What is this?
This was a fork of Hotio's overseerr Docker image that bundled the historical Anime Instance PR (#3664).
It was built using this fork of the PR. This page is kept for existing users who need to identify what they are running; it is not a recommendation to deploy the image.
Migration and alternatives
There is no exact drop-in replacement for this image today.
- Recommended path: migrate to the official Seerr image and follow the Seerr migration guide.
- Closest workaround: Redirecterr can route requests to different Sonarr/Radarr instances, but it is webhook-driven and can conflict with any existing Seerr/Overseerr webhook workflow.
- Future built-in option: Seerr PR #2452 is intended to add routing-rule behavior. As of 2026-05-20, it is still open as a draft and has not been merged.
Branches and Tags
This project is no longer actively maintained.
:release(or:latest): Final archived build from thefeature-default-anime-instance-checkbox-releasebranch. No future security or dependency updates are planned.
Starting the container¶
Existing deployments only
The examples below are retained for existing users who need to identify or temporarily reproduce their current deployment. Do not use this image for new installs; use Seerr instead.
WireGuard¶
Info
This image includes VPN support. The cli/compose examples below are environment variables and settings complementary to the app image examples. This means you'll have to add/merge the stuff below with the stuff above, if you need VPN support (otherwise ignore). Don't forget to click the symbol for more info.
Useful website to check for open ports is portchecker.io and ipleak.net to leak test with a .torrent file.
In case you are still in need of a VPN, consider using my affiliate links for Proton VPN, Proton Unlimited or Private Internet Access.
-
The environment variable
VPN_LAN_NETWORKcan be set to for example192.168.1.0/24,192.168.1.0/24,192.168.44.0/24or192.168.1.33, so you can get access to the webui or other ports from your LAN. If for example you were to pick192.168.0.0/24, every device with an ip in the range192.168.0.0 - 192.168.0.255on your LAN is allowed access to the webui. On MacOS set it to192.168.65.0/24(Verify with your settings [Resources > Network > Docker subnet]), you might also need to do-p 127.0.0.1:PORT:PORT(don't ask me why, Docker on Mac quirks I guess). Do not add the docker bridge networks in this variable! -
If you need to expose ports on your LAN you can use
VPN_EXPOSE_PORTS_ON_LAN. For exampleVPN_EXPOSE_PORTS_ON_LAN=7878/tcp,9117/tcp, will allow access to them from your LAN. Most images also have aWEBUI_PORTSenvironment variable that does basically the same thing already pre-filled with the default ports. UseWEBUI_PORTSif you need to change those defaults. The variableVPN_EXPOSE_PORTS_ON_LANis mostly for extra ports, likely used when routing additional containers through this container's VPN connection. -
NOT USED
-
Possible values are
generic,protonandpia.
Affiliate links:
Proton VPN
Proton Unlimited
Private Internet Access -
There needs to be a file
wg0.conf(for PIA this is done automatically, seeVPN_PROVIDERvariable) located in/config/wireguardand you need to set the variableVPN_ENABLEDtotruefor the VPN to start. If you'd like to execute some of your own bash scripts you can place the scripts alongside yourwg0.conffile, calledwg0-pre.sh(before vpn is up),wg0-post.sh(after vpn is up) orwg0-port.sh(after forwarded port change). -
Auto retrieve a forwarded port and configure the supported app if set to
trueandVPN_PROVIDER=protonorVPN_PROVIDER=pia. If you can manually request/set a forwarded port in the VPN provider's web interface, fill in the port number (just the number). If you set it totrueand you've gotVPN_PROVIDER=generic, you can manually create and manipulate the file/config/wireguard/forwarded_port. -
By default a random server is used, but if you prefer a certain region you can fill in the region id. A list of available regions can be found in
/config/wireguardafter the first start. If you're seeing an error messageshuf: getrandom: Function not implemented, you can't let it pick one randomly and are forced to fill in a region id. -
With
VPN_CONFyou can set the name used for your WireGuard config. -
By default the prefixes list
eth,enpis used to determine what the local docker networks are. If your setup uses another prefix, you can override the list with this variable. -
DANGEROUS! Don't enable unless you know what you are doing! This will allow all traffic meant for
VPN_LAN_NETWORKconfigured networks to leave, instead of just the exposed ports. Possible usecase is using your own nameserver. -
When using
VPN_PROVIDER=pia, fill in your username and password. Awg0.confwill be automatically downloaded. -
NOT USED
-
Fill in your DIP token here, if you've bought the dedicated ip option.
-
If you'd like to keep using the same forwarded port until it expires, set this to
true. -
Adds a redirect from the port before
@to the port after, withudp or tcpafter the/. Ports in this list are also exposed on the wireguard interface. Values like32400/tcpwithout the@will use the port fromVPN_AUTO_PORT_FORWARDfor the redirect or if set totruethe forwarded port received from pia/proton (In more detail: it'll use the port from/config/wireguard/forwarded_portifVPN_AUTO_PORT_FORWARDis not set tofalse). Use3000@3001/tcp,3002@3003/tcpsyntax for static redirects. If you do6677@6677/tcp(same port), a redirect won't be added, but it'll just expose the port. A known usecase as of right now is Plex and exposing it on the VPN (if you can't get 32400 from your VPN provider), because it's not possible to run Plex on anything else but 32400. -
Some of the possible values are for example
wg,8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. The valuewgwill use the nameservers from thewg0.conffile. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode. -
NOT USED
-
If you want to use container hostnames to connect to other containers within a bridge network, you'll have to use
--hostnameand usecontainer-name.internalorcontainer-name.vpn. Currently.vpnis a non existing TLD, but that can change in the future. The TLD.internalshould become the standard for internal networks, so it's the safest choice. -
This will start Privoxy on the default port 8118 when set to
true. By default Privoxy is not exposed on the LAN, so if you need that, you'll have to addVPN_EXPOSE_PORTS_ON_LAN=8118/tcp. -
Enabling this will bring down the container if the connectivity tests fail at the end of the Wireguard init process or for an extended period during the container runtime.
-
Enable Unbound by setting to
truewhen VPN is not active. -
Some of the possible values are for example
8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode.
-
The environment variable
VPN_LAN_NETWORKcan be set to for example192.168.1.0/24,192.168.1.0/24,192.168.44.0/24or192.168.1.33, so you can get access to the webui or other ports from your LAN. If for example you were to pick192.168.0.0/24, every device with an ip in the range192.168.0.0 - 192.168.0.255on your LAN is allowed access to the webui. On MacOS set it to192.168.65.0/24(Verify with your settings [Resources > Network > Docker subnet]), you might also need to do-p 127.0.0.1:PORT:PORT(don't ask me why, Docker on Mac quirks I guess). Do not add the docker bridge networks in this variable! -
If you need to expose ports on your LAN you can use
VPN_EXPOSE_PORTS_ON_LAN. For exampleVPN_EXPOSE_PORTS_ON_LAN=7878/tcp,9117/tcp, will allow access to them from your LAN. Most images also have aWEBUI_PORTSenvironment variable that does basically the same thing already pre-filled with the default ports. UseWEBUI_PORTSif you need to change those defaults. The variableVPN_EXPOSE_PORTS_ON_LANis mostly for extra ports, likely used when routing additional containers through this container's VPN connection. -
NOT USED
-
Possible values are
generic,protonandpia.
Affiliate links:
Proton VPN
Proton Unlimited
Private Internet Access -
There needs to be a file
wg0.conf(for PIA this is done automatically, seeVPN_PROVIDERvariable) located in/config/wireguardand you need to set the variableVPN_ENABLEDtotruefor the VPN to start. If you'd like to execute some of your own bash scripts you can place the scripts alongside yourwg0.conffile, calledwg0-pre.sh(before vpn is up),wg0-post.sh(after vpn is up) orwg0-port.sh(after forwarded port change). -
Auto retrieve a forwarded port and configure the supported app if set to
trueandVPN_PROVIDER=protonorVPN_PROVIDER=pia. If you can manually request/set a forwarded port in the VPN provider's web interface, fill in the port number (just the number). If you set it totrueand you've gotVPN_PROVIDER=generic, you can manually create and manipulate the file/config/wireguard/forwarded_port. -
By default a random server is used, but if you prefer a certain region you can fill in the region id. A list of available regions can be found in
/config/wireguardafter the first start. If you're seeing an error messageshuf: getrandom: Function not implemented, you can't let it pick one randomly and are forced to fill in a region id. -
With
VPN_CONFyou can set the name used for your WireGuard config. -
By default the prefixes list
eth,enpis used to determine what the local docker networks are. If your setup uses another prefix, you can override the list with this variable. -
DANGEROUS! Don't enable unless you know what you are doing! This will allow all traffic meant for
VPN_LAN_NETWORKconfigured networks to leave, instead of just the exposed ports. Possible usecase is using your own nameserver. -
When using
VPN_PROVIDER=pia, fill in your username and password. Awg0.confwill be automatically downloaded. -
NOT USED
-
Fill in your DIP token here, if you've bought the dedicated ip option.
-
If you'd like to keep using the same forwarded port until it expires, set this to
true. -
Adds a redirect from the port before
@to the port after, withudp or tcpafter the/. Ports in this list are also exposed on the wireguard interface. Values like32400/tcpwithout the@will use the port fromVPN_AUTO_PORT_FORWARDfor the redirect or if set totruethe forwarded port received from pia/proton (In more detail: it'll use the port from/config/wireguard/forwarded_portifVPN_AUTO_PORT_FORWARDis not set tofalse). Use3000@3001/tcp,3002@3003/tcpsyntax for static redirects. If you do6677@6677/tcp(same port), a redirect won't be added, but it'll just expose the port. A known usecase as of right now is Plex and exposing it on the VPN (if you can't get 32400 from your VPN provider), because it's not possible to run Plex on anything else but 32400. -
Some of the possible values are for example
wg,8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. The valuewgwill use the nameservers from thewg0.conffile. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode. -
NOT USED
-
If you want to use container hostnames to connect to other containers within a bridge network, you'll have to use
--hostnameand usecontainer-name.internalorcontainer-name.vpn. Currently.vpnis a non existing TLD, but that can change in the future. The TLD.internalshould become the standard for internal networks, so it's the safest choice. -
This will start Privoxy on the default port 8118 when set to
true. By default Privoxy is not exposed on the LAN, so if you need that, you'll have to addVPN_EXPOSE_PORTS_ON_LAN=8118/tcp. -
Enabling this will bring down the container if the connectivity tests fail at the end of the Wireguard init process or for an extended period during the container runtime.
-
Enable Unbound by setting to
truewhen VPN is not active. -
Some of the possible values are for example
8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode.
-
The environment variable
VPN_LAN_NETWORKcan be set to for example192.168.1.0/24,192.168.1.0/24,192.168.44.0/24or192.168.1.33, so you can get access to the webui or other ports from your LAN. If for example you were to pick192.168.0.0/24, every device with an ip in the range192.168.0.0 - 192.168.0.255on your LAN is allowed access to the webui. On MacOS set it to192.168.65.0/24(Verify with your settings [Resources > Network > Docker subnet]), you might also need to do-p 127.0.0.1:PORT:PORT(don't ask me why, Docker on Mac quirks I guess). Do not add the docker bridge networks in this variable! -
If you need to expose ports on your LAN you can use
VPN_EXPOSE_PORTS_ON_LAN. For exampleVPN_EXPOSE_PORTS_ON_LAN=7878/tcp,9117/tcp, will allow access to them from your LAN. Most images also have aWEBUI_PORTSenvironment variable that does basically the same thing already pre-filled with the default ports. UseWEBUI_PORTSif you need to change those defaults. The variableVPN_EXPOSE_PORTS_ON_LANis mostly for extra ports, likely used when routing additional containers through this container's VPN connection. -
NOT USED
-
Possible values are
generic,protonandpia.
Affiliate links:
Proton VPN
Proton Unlimited
Private Internet Access -
There needs to be a file
wg0.conf(for PIA this is done automatically, seeVPN_PROVIDERvariable) located in/config/wireguardand you need to set the variableVPN_ENABLEDtotruefor the VPN to start. If you'd like to execute some of your own bash scripts you can place the scripts alongside yourwg0.conffile, calledwg0-pre.sh(before vpn is up),wg0-post.sh(after vpn is up) orwg0-port.sh(after forwarded port change). -
Auto retrieve a forwarded port and configure the supported app if set to
trueandVPN_PROVIDER=protonorVPN_PROVIDER=pia. If you can manually request/set a forwarded port in the VPN provider's web interface, fill in the port number (just the number). If you set it totrueand you've gotVPN_PROVIDER=generic, you can manually create and manipulate the file/config/wireguard/forwarded_port. -
By default a random server is used, but if you prefer a certain region you can fill in the region id. A list of available regions can be found in
/config/wireguardafter the first start. If you're seeing an error messageshuf: getrandom: Function not implemented, you can't let it pick one randomly and are forced to fill in a region id. -
With
VPN_CONFyou can set the name used for your WireGuard config. -
By default the prefixes list
eth,enpis used to determine what the local docker networks are. If your setup uses another prefix, you can override the list with this variable. -
DANGEROUS! Don't enable unless you know what you are doing! This will allow all traffic meant for
VPN_LAN_NETWORKconfigured networks to leave, instead of just the exposed ports. Possible usecase is using your own nameserver. -
When using
VPN_PROVIDER=pia, fill in your username and password. Awg0.confwill be automatically downloaded. -
NOT USED
-
Fill in your DIP token here, if you've bought the dedicated ip option.
-
If you'd like to keep using the same forwarded port until it expires, set this to
true. -
Adds a redirect from the port before
@to the port after, withudp or tcpafter the/. Ports in this list are also exposed on the wireguard interface. Values like32400/tcpwithout the@will use the port fromVPN_AUTO_PORT_FORWARDfor the redirect or if set totruethe forwarded port received from pia/proton (In more detail: it'll use the port from/config/wireguard/forwarded_portifVPN_AUTO_PORT_FORWARDis not set tofalse). Use3000@3001/tcp,3002@3003/tcpsyntax for static redirects. If you do6677@6677/tcp(same port), a redirect won't be added, but it'll just expose the port. A known usecase as of right now is Plex and exposing it on the VPN (if you can't get 32400 from your VPN provider), because it's not possible to run Plex on anything else but 32400. -
Some of the possible values are for example
wg,8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. The valuewgwill use the nameservers from thewg0.conffile. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode. -
NOT USED
-
If you want to use container hostnames to connect to other containers within a bridge network, you'll have to use
--hostnameand usecontainer-name.internalorcontainer-name.vpn. Currently.vpnis a non existing TLD, but that can change in the future. The TLD.internalshould become the standard for internal networks, so it's the safest choice. -
This will start Privoxy on the default port 8118 when set to
true. By default Privoxy is not exposed on the LAN, so if you need that, you'll have to addVPN_EXPOSE_PORTS_ON_LAN=8118/tcp. -
Enabling this will bring down the container if the connectivity tests fail at the end of the Wireguard init process or for an extended period during the container runtime.
-
Enable Unbound by setting to
truewhen VPN is not active. -
Some of the possible values are for example
8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode.
-
The environment variable
VPN_LAN_NETWORKcan be set to for example192.168.1.0/24,192.168.1.0/24,192.168.44.0/24or192.168.1.33, so you can get access to the webui or other ports from your LAN. If for example you were to pick192.168.0.0/24, every device with an ip in the range192.168.0.0 - 192.168.0.255on your LAN is allowed access to the webui. On MacOS set it to192.168.65.0/24(Verify with your settings [Resources > Network > Docker subnet]), you might also need to do-p 127.0.0.1:PORT:PORT(don't ask me why, Docker on Mac quirks I guess). Do not add the docker bridge networks in this variable! -
If you need to expose ports on your LAN you can use
VPN_EXPOSE_PORTS_ON_LAN. For exampleVPN_EXPOSE_PORTS_ON_LAN=7878/tcp,9117/tcp, will allow access to them from your LAN. Most images also have aWEBUI_PORTSenvironment variable that does basically the same thing already pre-filled with the default ports. UseWEBUI_PORTSif you need to change those defaults. The variableVPN_EXPOSE_PORTS_ON_LANis mostly for extra ports, likely used when routing additional containers through this container's VPN connection. -
NOT USED
-
Possible values are
generic,protonandpia.
Affiliate links:
Proton VPN
Proton Unlimited
Private Internet Access -
There needs to be a file
wg0.conf(for PIA this is done automatically, seeVPN_PROVIDERvariable) located in/config/wireguardand you need to set the variableVPN_ENABLEDtotruefor the VPN to start. If you'd like to execute some of your own bash scripts you can place the scripts alongside yourwg0.conffile, calledwg0-pre.sh(before vpn is up),wg0-post.sh(after vpn is up) orwg0-port.sh(after forwarded port change). -
Auto retrieve a forwarded port and configure the supported app if set to
trueandVPN_PROVIDER=protonorVPN_PROVIDER=pia. If you can manually request/set a forwarded port in the VPN provider's web interface, fill in the port number (just the number). If you set it totrueand you've gotVPN_PROVIDER=generic, you can manually create and manipulate the file/config/wireguard/forwarded_port. -
By default a random server is used, but if you prefer a certain region you can fill in the region id. A list of available regions can be found in
/config/wireguardafter the first start. If you're seeing an error messageshuf: getrandom: Function not implemented, you can't let it pick one randomly and are forced to fill in a region id. -
With
VPN_CONFyou can set the name used for your WireGuard config. -
By default the prefixes list
eth,enpis used to determine what the local docker networks are. If your setup uses another prefix, you can override the list with this variable. -
DANGEROUS! Don't enable unless you know what you are doing! This will allow all traffic meant for
VPN_LAN_NETWORKconfigured networks to leave, instead of just the exposed ports. Possible usecase is using your own nameserver. -
When using
VPN_PROVIDER=pia, fill in your username and password. Awg0.confwill be automatically downloaded. -
NOT USED
-
Fill in your DIP token here, if you've bought the dedicated ip option.
-
If you'd like to keep using the same forwarded port until it expires, set this to
true. -
Adds a redirect from the port before
@to the port after, withudp or tcpafter the/. Ports in this list are also exposed on the wireguard interface. Values like32400/tcpwithout the@will use the port fromVPN_AUTO_PORT_FORWARDfor the redirect or if set totruethe forwarded port received from pia/proton (In more detail: it'll use the port from/config/wireguard/forwarded_portifVPN_AUTO_PORT_FORWARDis not set tofalse). Use3000@3001/tcp,3002@3003/tcpsyntax for static redirects. If you do6677@6677/tcp(same port), a redirect won't be added, but it'll just expose the port. A known usecase as of right now is Plex and exposing it on the VPN (if you can't get 32400 from your VPN provider), because it's not possible to run Plex on anything else but 32400. -
Some of the possible values are for example
wg,8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. The valuewgwill use the nameservers from thewg0.conffile. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode. -
NOT USED
-
If you want to use container hostnames to connect to other containers within a bridge network, you'll have to use
--hostnameand usecontainer-name.internalorcontainer-name.vpn. Currently.vpnis a non existing TLD, but that can change in the future. The TLD.internalshould become the standard for internal networks, so it's the safest choice. -
This will start Privoxy on the default port 8118 when set to
true. By default Privoxy is not exposed on the LAN, so if you need that, you'll have to addVPN_EXPOSE_PORTS_ON_LAN=8118/tcp. -
Enabling this will bring down the container if the connectivity tests fail at the end of the Wireguard init process or for an extended period during the container runtime.
-
Enable Unbound by setting to
truewhen VPN is not active. -
Some of the possible values are for example
8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode.
-
The environment variable
VPN_LAN_NETWORKcan be set to for example192.168.1.0/24,192.168.1.0/24,192.168.44.0/24or192.168.1.33, so you can get access to the webui or other ports from your LAN. If for example you were to pick192.168.0.0/24, every device with an ip in the range192.168.0.0 - 192.168.0.255on your LAN is allowed access to the webui. On MacOS set it to192.168.65.0/24(Verify with your settings [Resources > Network > Docker subnet]), you might also need to do-p 127.0.0.1:PORT:PORT(don't ask me why, Docker on Mac quirks I guess). Do not add the docker bridge networks in this variable! -
If you need to expose ports on your LAN you can use
VPN_EXPOSE_PORTS_ON_LAN. For exampleVPN_EXPOSE_PORTS_ON_LAN=7878/tcp,9117/tcp, will allow access to them from your LAN. Most images also have aWEBUI_PORTSenvironment variable that does basically the same thing already pre-filled with the default ports. UseWEBUI_PORTSif you need to change those defaults. The variableVPN_EXPOSE_PORTS_ON_LANis mostly for extra ports, likely used when routing additional containers through this container's VPN connection. -
NOT USED
-
Possible values are
generic,protonandpia.
Affiliate links:
Proton VPN
Proton Unlimited
Private Internet Access -
There needs to be a file
wg0.conf(for PIA this is done automatically, seeVPN_PROVIDERvariable) located in/config/wireguardand you need to set the variableVPN_ENABLEDtotruefor the VPN to start. If you'd like to execute some of your own bash scripts you can place the scripts alongside yourwg0.conffile, calledwg0-pre.sh(before vpn is up),wg0-post.sh(after vpn is up) orwg0-port.sh(after forwarded port change). -
Auto retrieve a forwarded port and configure the supported app if set to
trueandVPN_PROVIDER=protonorVPN_PROVIDER=pia. If you can manually request/set a forwarded port in the VPN provider's web interface, fill in the port number (just the number). If you set it totrueand you've gotVPN_PROVIDER=generic, you can manually create and manipulate the file/config/wireguard/forwarded_port. -
By default a random server is used, but if you prefer a certain region you can fill in the region id. A list of available regions can be found in
/config/wireguardafter the first start. If you're seeing an error messageshuf: getrandom: Function not implemented, you can't let it pick one randomly and are forced to fill in a region id. -
With
VPN_CONFyou can set the name used for your WireGuard config. -
By default the prefixes list
eth,enpis used to determine what the local docker networks are. If your setup uses another prefix, you can override the list with this variable. -
DANGEROUS! Don't enable unless you know what you are doing! This will allow all traffic meant for
VPN_LAN_NETWORKconfigured networks to leave, instead of just the exposed ports. Possible usecase is using your own nameserver. -
When using
VPN_PROVIDER=pia, fill in your username and password. Awg0.confwill be automatically downloaded. -
NOT USED
-
Fill in your DIP token here, if you've bought the dedicated ip option.
-
If you'd like to keep using the same forwarded port until it expires, set this to
true. -
Adds a redirect from the port before
@to the port after, withudp or tcpafter the/. Ports in this list are also exposed on the wireguard interface. Values like32400/tcpwithout the@will use the port fromVPN_AUTO_PORT_FORWARDfor the redirect or if set totruethe forwarded port received from pia/proton (In more detail: it'll use the port from/config/wireguard/forwarded_portifVPN_AUTO_PORT_FORWARDis not set tofalse). Use3000@3001/tcp,3002@3003/tcpsyntax for static redirects. If you do6677@6677/tcp(same port), a redirect won't be added, but it'll just expose the port. A known usecase as of right now is Plex and exposing it on the VPN (if you can't get 32400 from your VPN provider), because it's not possible to run Plex on anything else but 32400. -
Some of the possible values are for example
wg,8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. The valuewgwill use the nameservers from thewg0.conffile. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode. -
NOT USED
-
If you want to use container hostnames to connect to other containers within a bridge network, you'll have to use
--hostnameand usecontainer-name.internalorcontainer-name.vpn. Currently.vpnis a non existing TLD, but that can change in the future. The TLD.internalshould become the standard for internal networks, so it's the safest choice. -
This will start Privoxy on the default port 8118 when set to
true. By default Privoxy is not exposed on the LAN, so if you need that, you'll have to addVPN_EXPOSE_PORTS_ON_LAN=8118/tcp. -
Enabling this will bring down the container if the connectivity tests fail at the end of the Wireguard init process or for an extended period during the container runtime.
-
Enable Unbound by setting to
truewhen VPN is not active. -
Some of the possible values are for example
8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode.
-
The environment variable
VPN_LAN_NETWORKcan be set to for example192.168.1.0/24,192.168.1.0/24,192.168.44.0/24or192.168.1.33, so you can get access to the webui or other ports from your LAN. If for example you were to pick192.168.0.0/24, every device with an ip in the range192.168.0.0 - 192.168.0.255on your LAN is allowed access to the webui. On MacOS set it to192.168.65.0/24(Verify with your settings [Resources > Network > Docker subnet]), you might also need to do-p 127.0.0.1:PORT:PORT(don't ask me why, Docker on Mac quirks I guess). Do not add the docker bridge networks in this variable! -
If you need to expose ports on your LAN you can use
VPN_EXPOSE_PORTS_ON_LAN. For exampleVPN_EXPOSE_PORTS_ON_LAN=7878/tcp,9117/tcp, will allow access to them from your LAN. Most images also have aWEBUI_PORTSenvironment variable that does basically the same thing already pre-filled with the default ports. UseWEBUI_PORTSif you need to change those defaults. The variableVPN_EXPOSE_PORTS_ON_LANis mostly for extra ports, likely used when routing additional containers through this container's VPN connection. -
NOT USED
-
Possible values are
generic,protonandpia.
Affiliate links:
Proton VPN
Proton Unlimited
Private Internet Access -
There needs to be a file
wg0.conf(for PIA this is done automatically, seeVPN_PROVIDERvariable) located in/config/wireguardand you need to set the variableVPN_ENABLEDtotruefor the VPN to start. If you'd like to execute some of your own bash scripts you can place the scripts alongside yourwg0.conffile, calledwg0-pre.sh(before vpn is up),wg0-post.sh(after vpn is up) orwg0-port.sh(after forwarded port change). -
Auto retrieve a forwarded port and configure the supported app if set to
trueandVPN_PROVIDER=protonorVPN_PROVIDER=pia. If you can manually request/set a forwarded port in the VPN provider's web interface, fill in the port number (just the number). If you set it totrueand you've gotVPN_PROVIDER=generic, you can manually create and manipulate the file/config/wireguard/forwarded_port. -
By default a random server is used, but if you prefer a certain region you can fill in the region id. A list of available regions can be found in
/config/wireguardafter the first start. If you're seeing an error messageshuf: getrandom: Function not implemented, you can't let it pick one randomly and are forced to fill in a region id. -
With
VPN_CONFyou can set the name used for your WireGuard config. -
By default the prefixes list
eth,enpis used to determine what the local docker networks are. If your setup uses another prefix, you can override the list with this variable. -
DANGEROUS! Don't enable unless you know what you are doing! This will allow all traffic meant for
VPN_LAN_NETWORKconfigured networks to leave, instead of just the exposed ports. Possible usecase is using your own nameserver. -
When using
VPN_PROVIDER=pia, fill in your username and password. Awg0.confwill be automatically downloaded. -
NOT USED
-
Fill in your DIP token here, if you've bought the dedicated ip option.
-
If you'd like to keep using the same forwarded port until it expires, set this to
true. -
Adds a redirect from the port before
@to the port after, withudp or tcpafter the/. Ports in this list are also exposed on the wireguard interface. Values like32400/tcpwithout the@will use the port fromVPN_AUTO_PORT_FORWARDfor the redirect or if set totruethe forwarded port received from pia/proton (In more detail: it'll use the port from/config/wireguard/forwarded_portifVPN_AUTO_PORT_FORWARDis not set tofalse). Use3000@3001/tcp,3002@3003/tcpsyntax for static redirects. If you do6677@6677/tcp(same port), a redirect won't be added, but it'll just expose the port. A known usecase as of right now is Plex and exposing it on the VPN (if you can't get 32400 from your VPN provider), because it's not possible to run Plex on anything else but 32400. -
Some of the possible values are for example
wg,8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. The valuewgwill use the nameservers from thewg0.conffile. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode. -
NOT USED
-
If you want to use container hostnames to connect to other containers within a bridge network, you'll have to use
--hostnameand usecontainer-name.internalorcontainer-name.vpn. Currently.vpnis a non existing TLD, but that can change in the future. The TLD.internalshould become the standard for internal networks, so it's the safest choice. -
This will start Privoxy on the default port 8118 when set to
true. By default Privoxy is not exposed on the LAN, so if you need that, you'll have to addVPN_EXPOSE_PORTS_ON_LAN=8118/tcp. -
Enabling this will bring down the container if the connectivity tests fail at the end of the Wireguard init process or for an extended period during the container runtime.
-
Enable Unbound by setting to
truewhen VPN is not active. -
Some of the possible values are for example
8.8.8.8or1.1.1.1@853#cloudflare-dns.comseperated by a,. A value in the format8.8.8.8is to use a plain old nameserver. A value in the format1.1.1.1@853#cloudflare-dns.comwill add aDNS over TLSnameserver, this will override all other regular nameservers. Leaving the variable empty will allow Unbound to work in recursive mode.

