Gluetun •
VPN pass-through service for Docker that can maintain privacy and anonymity for individual containers.
Overview
Gluetun is a service that connects to your VPN and acts as a pass-through for your other containers. There is no graphical interface for this service and once configured it will not need to be interacted with.
- Proven compatible with 25 virtual private network service providers
- Works with the OpenVPN and WireGuard protocols for VPN connection
- When the VPN is disconnected, containers will be unable to access the internet.
Setup & Configuration
We need to install the service through Portainer and configure any necessary settings.
Preparation
There are some things we need to do in preparation to install this service.
Environment
VPN_SERVICE_PROVIDER
Gluetun currently supports:
- AirVPN
- CyberGhost
- ExpressVPN
- FastestVPN
- HideMyAss
- IPVanish
- iVPN
- Mullvad
- NordVPN
- Perfect Privacy
- Privado
- Private Internet Access
- PrivateVPN
- ProtonVPN
- PureVPN
- SlickVPN
- Surfshark
- Torguard
- VPN Secure
- VPN Unlimited
- VyprVPN
- WeVPN
- Windscribe
You can learn more about how to configure each of these service providers by reading the appropriate files on their repository.
For example: windscribe
VPN_TYPE
This is the method for connecting to the VPN service and can be configured to use OpenVPN or Wireguard.
For example: openvpn
OPENVPN_USER
This is provided by your VPN service provider for connecting to the service.
This may be your account password, or one generated by your provider enabling you to connect through OpenVPN. You can find out more information by reading the appropriate file in their documentation.
SERVER_REGIONS
This is geographical region that the service will connect to and can be found by following the guide in the Glueton documentation.
Passwords
Keep these securely stored in a password manager, such as VaultWarden.
OPENVPN_PASSWORD
This is provided by your VPN service provider for connecting to the service.
This is could be your account password, or a password created by your VPN provider to connect through OpenVPN.
Ports
Glueton acts as a VPN client for your Docker containers and service ports need to be configured through it.
Installation
The service can be installed through the Portainer web interface.
Learn about creating a new stack.
Docker Compose
Use the following code to install the service and a qBittorent server as an example:
---
services:
gluetun:
image: qmcgaw/gluetun
restart: unless-stopped
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=
- VPN_TYPE=
- OPENVPN_USER=
- OPENVPN_PASSWORD=
- SERVER_REGIONS=
ports:
# Connected Application Ports
# Example qBittorrent
- "0.0.0.0:9191:9191"
- "0.0.0.0:6881:6881
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: "service:glueton"
environment:
- PUID=1000
- PGID=1000
- TZ=America/Vancouver
- WEBUI_PORT=9191
- TORRENTING_PORT=6881
volumes:
# Persistent Data
- /srv/qbittorrent:/config
# Download Folders
- /mnt/downloads:/downloads/
restart: unless-stopped
Updating
Re-Deploy the Stack
This service has been optimized for running in Docker.
This allows you to re-deploy the stack through Portainer to download the latest updates.
User Manual
Development
This software is released under the MIT license.
You can learn more about how to contribute to Gluetun through their documentation.
The developer also accepts sponsorships.