From 1672e76ecaa38d1de70cdc974d83da66880b8b38 Mon Sep 17 00:00:00 2001 From: Roger Gonzalez Date: Sat, 5 Apr 2025 19:25:10 -0300 Subject: [PATCH] Add documentation for switching to WireGuard - Adds a new `wireguard.md` file detailing the process of switching from OpenVPN to WireGuard. - Includes instructions for ProtonVPN users and guidance for other providers. - Updates existing documentation in `vpn.md` and `port-forwarding.md` to reference the new guide. - Adds a new section to `vpn.md` explaining the benefits of WireGuard. - Clarifies the process of updating the `.env` file and `docker-compose.yaml`. - Provides troubleshooting steps for common WireGuard issues. --- content/advanced/port-forwarding.md | 4 + content/advanced/vpn.md | 10 ++ content/advanced/wireguard.md | 137 ++++++++++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 content/advanced/wireguard.md diff --git a/content/advanced/port-forwarding.md b/content/advanced/port-forwarding.md index e1bc2cd..479b4ca 100644 --- a/content/advanced/port-forwarding.md +++ b/content/advanced/port-forwarding.md @@ -11,6 +11,8 @@ Port forwarding helps you get better download speeds by allowing incoming connec ## ProtonVPN Users πŸš€ ProtonVPN makes port forwarding easy! Just follow these steps: +> πŸ†• ProtonVPN now supports **WireGuard with port forwarding**! If you want faster VPN performance, check out our [Switching Gluetun to WireGuard](/advanced/wireguard/) guide. + 1. Create a script to update qBittorrent's port. Make sure you change `/your/install/location`: ```bash mkdir -p /your/install/location/scripts @@ -51,6 +53,8 @@ You should see an output similar to this: ## Other VPN Providers 🌐 For other VPN providers, port forwarding configuration varies. +> πŸ’‘ Some providers support WireGuard too! See [Switching Gluetun to WireGuard](/advanced/wireguard/) for details. + For detailed provider-specific instructions, check the [Gluetun Port Forwarding Documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/vpn-port-forwarding.md). ## Verifying Port Forwarding βœ… diff --git a/content/advanced/vpn.md b/content/advanced/vpn.md index 6777cca..bb295a8 100644 --- a/content/advanced/vpn.md +++ b/content/advanced/vpn.md @@ -131,6 +131,16 @@ If you get an error, double-check all your settings and make sure they're correc 3. **Speed Matters**: Choose a VPN server that's relatively close to you for better download speeds 4. **Port Problems**: If you can't access qBittorrent after setting up the VPN, check the troubleshooting section below +## Switching to WireGuard ⚑ + +By default, YAMS uses **OpenVPN** for Gluetun. But if your VPN provider supports it, you can switch to **WireGuard** for faster speeds and quicker connections. + +We recommend ProtonVPN for this, and we’ve written a full guide to help you switch: + +πŸ‘‰ [Switching Gluetun to WireGuard](/advanced/wireguard/) + +> πŸ’‘ If you store your WireGuard private key in the `.env` file, make sure to read the [Environment File Guide](/advanced/env-file/) to learn how to manage secrets securely. + ## Troubleshooting πŸ”§ ### Common Issues: diff --git a/content/advanced/wireguard.md b/content/advanced/wireguard.md new file mode 100644 index 0000000..aff0863 --- /dev/null +++ b/content/advanced/wireguard.md @@ -0,0 +1,137 @@ +--- +title: "Switching Gluetun to WireGuard" +date: 2025-04-05T12:00:00-03:00 +draft: false +weight: 55 +summary: Learn how to switch your Gluetun VPN configuration from OpenVPN to WireGuard for faster and more reliable connections. +--- + +Want faster VPN speeds and quicker connection times? It's time to switch from OpenVPN to **WireGuard**! This guide will walk you through updating your Gluetun configuration to use WireGuard β€” with a focus on **ProtonVPN**. + +> βœ… **Why switch?** WireGuard is a modern VPN protocol that’s faster, more efficient, and easier to configure than OpenVPN. + +--- + +## For ProtonVPN Users πŸš€ + +ProtonVPN makes it easy to use WireGuard with Gluetun. Here's how to update your configuration. + +### Step 1: Get Your WireGuard Private Key πŸ”‘ + +1. Go to [ProtonVPN WireGuard Config Generator](https://account.proton.me/u/0/vpn/WireGuard) +2. Select a server and enable **Port Forwarding** and **Moderate NAT** (optional) +3. Click **Download** to get the `.conf` file +4. Open the file and copy the value of `PrivateKey` + +It will look something like this: +``` +PrivateKey = wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU= +``` + +--- + +### Step 2: Update Your `.env` File πŸ› οΈ + +Open your `.env` file and remove the OpenVPN credentials: + +```bash +nano /opt/yams/.env +``` + +Remove or comment out: +```env +VPN_USER=your-username +VPN_PASSWORD=your-password +``` + +You can also remove `VPN_SERVICE=protonvpn` if you want to hardcode it in the compose file (see below), or leave it β€” both work. + +> πŸ’‘ Not sure how the `.env` file works? Check out our [Environment File Guide](/advanced/env-file/) to learn how to manage variables like `WIREGUARD_PRIVATE_KEY` securely. + +--- + +### Step 3: Update `docker-compose.yaml` 🐳 + +Find the `gluetun` service and replace the `environment:` section with the following: + +```yaml +environment: + - VPN_SERVICE_PROVIDER=protonvpn + - VPN_TYPE=wireguard + - WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU= + - VPN_PORT_FORWARDING=on + - VPN_PORT_FORWARDING_PROVIDER=protonvpn + - PORT_FORWARD_ONLY=on +``` + +> 🧠 **Tip:** You can still use `${VARIABLE}` syntax if you prefer to keep the private key in your `.env` file. See the [Environment File Guide](/advanced/env-file/) for more info. + +--- + +### Step 4: Restart YAMS πŸ”„ + +Apply the changes: + +```bash +yams restart +``` + +--- + +### Step 5: Verify It’s Working βœ… + +Run the VPN check: + +```bash +yams check-vpn +``` + +You should see your qBittorrent IP is different from your local IP β€” and located in the country you selected in ProtonVPN. + +You can also check the Gluetun logs: + +```bash +docker logs gluetun +``` + +Look for lines like: +``` +Using VPN provider: protonvpn +VPN type: wireguard +Port forwarding is enabled +``` + +--- + +## For Other VPN Providers 🌐 + +WireGuard support varies by provider. Here’s what to do: + +1. Visit the [Gluetun Provider Docs](https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers) +2. Find your VPN provider and follow their WireGuard instructions +3. Replace the `gluetun` environment variables in your `docker-compose.yaml` accordingly + +> ⚠️ Not all providers support WireGuard or port forwarding. Check their documentation carefully. + +--- + +## Troubleshooting πŸ”§ + +### Gluetun won’t start? +- Double-check your `WIREGUARD_PRIVATE_KEY` +- Make sure `VPN_TYPE=wireguard` is set +- Check for typos in your `docker-compose.yaml` + +### Port forwarding not working? +- Ensure `VPN_PORT_FORWARDING=on` and `PORT_FORWARD_ONLY=on` are set +- Verify that port forwarding is enabled in your ProtonVPN config +- Check Gluetun logs for forwarded port info + +--- + +## Need Help? πŸ†˜ + +If you're stuck: +- Visit our [Common Issues](/faqs/common-errors/) page +- Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat +- Or ask in the [YAMS Forum](https://forum.yams.media)