WireGuard & Tailscale
VPN Setup Guide

Connect securely to your home servers, Proxmox lab, or local devices from remote networks using Tailscale or self-hosted WireGuard.

1. Option 1: Tailscale Setup

Install Tailscale on your Linux server:

curl -fsSL https://tailscale.com/install.sh | sh

Authenticate your server with your Tailscale account:

sudo tailscale up

Open the printed URL in your browser to authorize your machine. Install the Tailscale app on your client devices to access your server via its Tailscale IP (e.g. 100.x.y.z).

2. Option 2: WG-Easy WireGuard Setup

Create a directory and docker-compose.yml file for WG-Easy:

mkdir -p ~/wg-easy && cd ~/wg-easy
nano docker-compose.yml

Paste the WG-Easy Docker compose file:

version: "3.8"
services:
  wg-easy:
    environment:
      - WG_HOST=your-domain.com  # Your public IP or Dynamic DNS domain
      - PASSWORD=YourSecurePassword
    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    volumes:
      - ~/.wg-easy:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv4.ip_forward=1

Start the container and ensure port 51820 UDP is forwarded in your router:

docker compose up -d
Access the WG-Easy admin dashboard at http://your-server-ip:51821 to generate clients and scan QR codes with the WireGuard app.

Related Guides