All apps · 0 apps
gluetun
Docker app from malvarez00's Repository
Overview
Readme
View on GitHubGluetun VPN client
Lightweight swiss-army-knife-like VPN client to multiple VPN service providers
⚠️ This and gluetun-wiki are the only websites for Gluetun, other websites claiming to be official are scams ⚠️
🗯️ this repository will be migrated to github.com/passteque/gluetun on 2026-05-21, which is a Github organization under my sole control, so don't get alarmed if you get redirected in the coming days 😉 Reason being migrating Github sponsors to the Open source collective due to my personal situation, basically annoying paperwork. On the plus side, it will be more transparent and funds donated will only be used for the project. The Docker image names will remain the same.
Quick links
Problem?
- Check the Wiki common errors and faq
- Start a discussion
- Fix the Unraid template
Suggestion?
Happy?
- Sponsor me on github.com/sponsors/qdm12
- Donate to paypal.me/qmcgaw
- Drop me an email
Want to add a VPN provider? check the development page and add a provider page
Video:
Features
- Based on Alpine 3.23 for a small Docker image of 43.1MB
- Supports: AirVPN, Cyberghost, ExpressVPN, FastestVPN, Giganews, HideMyAss, IPVanish, IVPN, Mullvad (Wireguard only), NordVPN, Privado, Private Internet Access, PrivateVPN, ProtonVPN, PureVPN, SlickVPN, Surfshark, TorGuard, VPNSecure.me, VPNUnlimited, Vyprvpn, Windscribe servers
- Supports OpenVPN for all providers listed
- Supports Wireguard both kernelspace and userspace
- For AirVPN, FastestVPN, Ivpn, Mullvad, NordVPN, ProtonVPN, Surfshark and Windscribe
- For Cyberghost, Private Internet Access, PrivateVPN, PureVPN, Torguard, VPN Unlimited and VyprVPN using the custom provider
- For custom Wireguard configurations using the custom provider
- More in progress, see #134
- Supports AmneziaWG only with the custom provider for now
- DNS over TLS baked in with service provider(s) of your choice
- DNS fine blocking of malicious/ads hostnames and IP addresses, with live update every 24 hours
- Choose the vpn network protocol,
udportcp - Built in firewall kill switch that only allows traffic through the VPN, to the VPN server, and to allowed LAN devices
- Built in Shadowsocks proxy server (protocol based on SOCKS5 with an encryption layer, tunnels TCP+UDP)
- Built in Socks5 proxy server (tunnels TCP+UDP) - partial credits to @angelakis and @adjscent
- Built in HTTP proxy (tunnels HTTP and HTTPS through TCP)
- Connect other containers to it
- Connect LAN devices to it
- Compatible with amd64, i686 (32 bit), ARM 64 bit, ARM 32 bit v6 and v7, and even ppc64le 🎆
- Custom VPN server side port forwarding for Private Internet Access, PrivateVPN and ProtonVPN
- Possibility of split horizon DNS by selecting multiple DNS over TLS providers
- Can work as a Kubernetes sidecar container, thanks @rorph
Setup
🎉 There are now instructions specific to each VPN provider with examples to help you get started as quickly as possible!
Go to the Wiki!
Here's a docker-compose.yml for the laziest:
---
services:
gluetun:
image: qmcgaw/gluetun
# container_name: gluetun
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
volumes:
- /yourpath:/gluetun
environment:
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
- VPN_SERVICE_PROVIDER=ivpn
- VPN_TYPE=openvpn
# OpenVPN:
- OPENVPN_USER=
- OPENVPN_PASSWORD=
# Wireguard:
# - WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
# - WIREGUARD_ADDRESSES=10.64.222.21/32
# Timezone for accurate log times
- TZ=
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=
🆕 Image also available as ghcr.io/qdm12/gluetun
Fun graphs
License
Install Gluetun on Unraid in a few clicks.
Find Gluetun in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allDetails
qmcgaw/gluetun:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8000]- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun
Template configuration
Where Gluetun stores its configuration.
- Target
- /gluetun
- Default
- /mnt/user/appdata/gluetun
- Value
- /mnt/user/appdata/gluetun
WebUI / Control Server
- Target
- 8000
- Default
- 8000
- Value
- 8015
HTTP proxy
- Target
- 8888
- Default
- 8888
- Value
- 8885
Shadowsocks TCP
- Target
- 8388
- Default
- 8388
- Value
- 8388
Shadowsocks UDP
- Target
- 8388
- Default
- 8388
- Value
- 8388
Socks5 TCP
- Target
- 1080
- Default
- 1080
- Value
- 1085
Socks5 UDP
- Target
- 1080
- Default
- 1080
- Value
- 1085
- Default
- airvpn|custom|cyberghost|expressvpn|fastestvpn|hide.me|ipvanish|ivpn|mullvad|nordvpn|perfectprivacy|privado|pia|privatevpn|protonvpn|purevpn|surfshark|torguard|vpnsecure|vpnunlimited|vyprvpn|wevpn|windscribe
- Value
- nordvpn
- Default
- openvpn|wireguard
- Value
- wireguard
- Value
- United States
Timezone
- Target
- TZ
- Value
- America/New_York
Transmission WebUI
- Target
- 9091
- Default
- 9091
- Value
- 9091
Transmission Port TCP
- Target
- 51413
- Default
- 51413
- Value
- 51413
Transmission Port UDP
- Target
- 51413
- Default
- 51413
- Value
- 51413
Brave desktop GUI HTTP must be proxied.
- Target
- 3000
- Default
- 3000
- Value
- 6000
Brave HTTPS.
- Target
- 3001
- Default
- 3001
- Value
- 6001
Firefox desktop GUI HTTP must be proxied.
- Target
- 4000
- Value
- 6002
Firefox HTTPS.
- Target
- 4001
- Value
- 6003
Firefox desktop GUI HTTP must be proxied.
- Target
- 5000
- Value
- 6004
Chrome HTTPS.
- Target
- 5001
- Value
- 6005
- Value
- /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- Value
- tun0
- Default
- udp|tcp
- Value
- udp
- Value
- /run/secrets/openvpn_user
- Value
- /run/secrets/openvpn_password
- Default
- 2.6|2.5
- Value
- 2.6
- Default
- 0|1|2|3|4|5|6
- Value
- 1
- Value
- root
- Value
- /run/secrets/wg0.conf
- Value
- /run/secrets/wireguard_private_key
- Value
- /run/secrets/wireguard_preshared_key
- Value
- 0
- Value
- /run/secrets/wireguard_addresses
- Value
- 1320
- Default
- auto|kernelspace|userspace
- Value
- auto
- Value
- /run/secrets/wg0.conf
- Value
- /run/secrets/wireguard_private_key
- Value
- /run/secrets/wireguard_preshared_key
- Value
- 0
- Value
- /run/secrets/wireguard_addresses
- Value
- 0
- Value
- 0
- Value
- 0
- Value
- 0
- Value
- 0
- Value
- 0
- Value
- 0
- Default
- off|on
- Value
- off
- Default
- private internet access|perfect privacy|privatevpn|protonvpn
- Value
- private internet access
- Value
- 0
- Default
- 1|2|3|4|5
- Value
- 1
- Value
- /tmp/gluetun/forwarded_port
- Value
- 1.1.1.1,8.8.8.8
- Value
- 1.1.1.1:443,8.8.8.8:443,1.1.1.1:53,8.8.8.8:53,[2606:4700:4700::1111]:53,[2001:4860:4860::8888]:53,[2606:4700:4700::1111]:443,[2001:4860:4860::8888]:443
- Default
- no|yes
- Value
- no
- Default
- strong|normal
- Value
- strong
- Value
- /run/secrets/openvpn_clientcrt
- Value
- /run/secrets/openvpn_clientkey
- Value
- /run/secrets/openvpn_encrypted_key
- Value
- /run/secrets/openvpn_key_passphrase
- Default
- off|on
- Value
- off
- Default
- off|on
- Value
- off
- Default
- off|on
- Value
- off
- Default
- off|on
- Value
- off
- Default
- off|on
- Value
- off
- Default
- no|yes
- Value
- no
- Default
- off|on|true|false
- Value
- off
- Default
- on|off
- Value
- on
- Value
- 192.168.10.0/24
- Default
- debug|info|warn|error
- Value
- info
- Value
- [2001:4860:4860::8888]:53,[2606:4700:4700::1111]:53
- Default
- debug|info|warn|error
- Value
- info
- Value
- 127.0.0.1:9999
- Value
- cloudflare.com:443,github.com:443
- Value
- 1.1.1.1,8.8.8.8
- Value
- icmp
- Default
- on|off
- Value
- on
- Default
- on|off
- Value
- on
- Default
- dot|doh|plain
- Value
- dot
DNS over TLS Configuration
- Default
- on|off
- Value
- on
- Default
- cloudflare|google|quad9|quad9 secured|quad9 unsecured|cloudflare family|cloudflare security|cleanbrowsing adult|cleanbrowsing family|cleanbrowsing security|cira family|cira private|cira protected|libredns|opendns|quadrant
- Value
- cloudflare
- Default
- on|off
- Value
- on
- Default
- off|on
- Value
- off
- Default
- on|off
- Value
- on
- Default
- off|on
- Value
- on
- Default
- off|on
- Value
- on
- Value
- 24h
- Default
- off|on
- Value
- off
- Default
- off|on
- Value
- off
- Value
- :8888
- Default
- off|on
- Value
- off
- Value
- /run/secrets/httpproxy_user
- Value
- /run/secrets/httpproxy_password
- Default
- off|on
- Value
- off
- Default
- off|on
- Value
- off
- Value
- :8388
- Value
- /run/secrets/shadowsocks_password
- Default
- chacha20-ietf-poly1305|aes-128-gcm|aes-256-gcm
- Value
- chacha20-ietf-poly1305
- Default
- off|on
- Value
- off
- Value
- :1080
- Default
- on|off
- Value
- on
- Value
- :8000
- Value
- /gluetun/auth/config.toml
- Value
- {}
- Value
- 0
- Value
- 0.8
- Default
- no|yes
- Value
- no
- Value
- /tmp/gluetun/ip
- Default
- on|off
- Value
- on
- Value
- ipinfo,ifconfigco,ip2location,cloudflare
- Default
- on|off
- Value
- on
- Value
- /gluetun/servers/
- Default
- no|yes
- Value
- no
- Value
- 0
- Value
- 0
- Value
- :6060
- Default
- on|off
- Value
- on
- Value
- 1000
- Value
- 1000
