EvilFox.CC
  • Home
  • Privacy Policy
  • Donate
  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹

WGDashboard

Download the latest version of the modification

Author: admin
Views: 2
Comments: 0
Published: 13.03.2026
WGDashboard

I'll provide you with a comprehensive guide to install WGDashboard with WireGuard, AmneziaWG (AWG), and Nginx with SSL using Docker Compose. This setup will give you a secure web interface to manage your VPN server.

πŸ“‹ Prerequisites

Before starting, ensure you have:

  • Ubuntu 22.04/24.04 server (or similar Linux distribution)

  • Docker and Docker Compose installed

  • A domain name pointing to your server's IP address (e.g., wg.yourdomain.com)

  • Ports 80, 443, and 51820 (UDP) open in your firewall


πŸš€ Step-by-Step Installation Guide

Step 1: Install Docker and Docker Compose

If Docker is not already installed, run:

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

Step 2: Create Project Directory

mkdir -p ~/wgdashboard/{conf,data,nginx/conf.d}
cd ~/wgdashboard

Step 3: Create Docker Compose File

Create docker-compose.yml:

version: '3.8'

services:
  # WGDashboard with WireGuard & AmneziaWG support
  wgdashboard:
    image: ghcr.io/wgdashboard/wgdashboard:latest
    container_name: wgdashboard
    hostname: wgdashboard
    restart: unless-stopped
    environment:
      - TZ=UTC
      - global_dns=1.1.1.1,8.8.8.8
      # Auto-start these WireGuard interfaces (comma-separated)
      # - wg_autostart=wg0
    ports:
      - "51820:51820/udp"  # Main WireGuard port
      # Add more UDP ports if needed (e.g., 51821-51830:51821-51830/udp)
    volumes:
      - ./conf:/etc/wireguard
      - ./dΠ°ta:/data
      - ./conf:/etc/amnezia/amneziawg  # AmneziaWG configs
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    networks:
      - wg_network
    expose:
      - "10086"  # Internal web port

  # Nginx reverse proxy with SSL
  nginx:
    image: nginx:latest
    container_name: nginx
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./nginx/ssl:/etc/nginx/ssl
      - ./nginx/www:/var/www/html
    networks:
      - wg_network
    depends_on:
      - wgdashboard

  # Certbot for SSL certificates
  certbot:
    image: certbot/certbot:latest
    container_name: certbot
    volumes:
      - ./nginx/ssl:/etc/letsencrypt
      - ./nginx/www:/var/www/html
    entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
    networks:
      - wg_network

networks:
  wg_network:
    driver: bridge

Step 4: Configure Nginx for Reverse Proxy

Create nginx/conf.d/wgdashboard.conf:

# HTTP redirect to HTTPS
server {
    listen 80;
    server_name wg.yourdomain.com;  # Replace with your domain
    
    location /.well-known/acme-challenge/ {
        root /var/www/html;
    }
    
    location / {
        return 301 https://$server_name$request_uri;
    }
}

# HTTPS server
server {
    listen 443 ssl http2;
    server_name wg.yourdomain.com;  # Replace with your domain
    
    # SSL certificates (will be created by certbot)
    ssl_certificate /etc/nginx/ssl/live/wg.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/live/wg.yourdomain.com/privkey.pem;
    ssl_trusted_certificate /etc/nginx/ssl/live/wg.yourdomain.com/chain.pem;
    
    # SSL configuration
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    
    # Proxy to WGDashboard
    location / {
        proxy_pass http://wgdashboard:10086;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    
    # Static files (if needed)
    location /static {
        proxy_pass http://wgdashboard:10086/static;
        proxy_set_header Host $host;
    }
}

Step 5: Obtain SSL Certificate

First, create the webroot directory for Certbot:

mkdir -p nginx/www

Start only Nginx to obtain the certificate:

docker-compose up -d nginx

Now run Certbot to get SSL certificate (replace with your domain and email):

docker-compose run --rm certbot certonly --webroot \
  -w /var/www/html \
  -d wg.yourdomain.com \
  --email your-email@example.com \
  --agree-tos \
  --no-eff-email

Step 6: Start All Services

# Stop Nginx (it will restart with full configuration)
docker-compose down

# Start all services
docker-compose up -d

Step 7: Verify Installation

Check if all containers are running:

docker-compose ps

View logs:

docker-compose logs -f

πŸ”§ Configuration and First Access

Access WGDashboard

  1. Open your browser and navigate to https://wg.yourdomain.com

  2. Login with default credentials:

    • Username: admin

    • Password: admin

  3. You'll be prompted to create a new admin account (recommended)

Enable WireGuard Interface

  1. Go to Configurations β†’ Click on wg0

  2. Toggle the Status switch to enable the interface

  3. The interface will start listening on UDP port 51820

Configure AmneziaWG (AWG)

WGDashboard supports AmneziaWG out of the box . To use it:

  1. In WGDashboard, create a new configuration

  2. Select AmneziaWG as the protocol type

  3. Configure your desired settings

Create VPN Clients

  1. From Home, select your WireGuard configuration (e.g., wg0)

  2. Click + Peer to add a new client

  3. Enter client name and configure settings

  4. Click Add and then download the client configuration

πŸ”„ Maintenance

Update Containers

docker-compose pull
docker-compose up -d

View Logs

# All services
docker-compose logs -f

# Specific service
docker-compose logs -f wgdashboard

SSL Certificate Renewal

Certificates auto-renew every 12 hours (configured in the certbot service). To manually renew:

docker-compose run --rm certbot renew

Backup Configuration

tar -czf wgdashboard-backup-$(date +%Y%m%d).tar.gz conf/ data/ nginx/ssl/

βš™οΈ Advanced Configuration

Environment Variables for WGDashboard

You can add these to the environment section of the wgdashboard service:

Variable Description Example
global_dns Default DNS for clients 1.1.1.1,8.8.8.8
public_ip Server's public IP (auto-detected if not set) your-server-ip
wg_autostart Auto-start specific interfaces wg0,wg1
enable_totp Enable 2FA true


Multiple WireGuard Ports

To support multiple WireGuard interfaces, add port ranges:

ports:
  - "51820-51830:51820-51830/udp"

πŸ› Troubleshooting

Permission Denied Errors

If you see "Permission denied" errors , ensure:

  • The container has NET_ADMIN capability

  • The conf and data directories have correct permissions

IPv4 Forwarding

Verify IP forwarding is enabled on the host:

sysctl net.ipv4.ip_forward
# Should output: net.ipv4.ip_forward = 1

Firewall Rules

Ensure these ports are open:

  • 80/tcp - HTTP (for Certbot)

  • 443/tcp - HTTPS (web interface)

  • 51820/udp - WireGuard (or your custom ports)

Cannot Access Web Interface

Check if Nginx is properly configured and SSL certificates exist:

docker-compose exec nginx nginx -t

πŸ“š References

  • Official WGDashboard Documentation

  • Vultr Deployment Guide

  • Docker Compose Examples

Your WireGuard VPN server with WGDashboard, AmneziaWG support, and Nginx SSL is now fully operational! πŸŽ‰

Gallery

{gallery}

Download Files

Download Files

Downloads

  • admin
  • 2
  • 0
  • 13.03.2026

No comments yet.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ
Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свой ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ.
Для быстрого Π²Ρ…ΠΎΠ΄Π° Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ соц. сСтями.
ΠΈΠ»ΠΈ
  • Google.com
рСгистрация Π― Π·Π°Π±Ρ‹Π» свой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ
  • Hearts of Iron 4 EN
    • Gameplay
    • Graphics
    • Alternative History
  • Vless
    • Mikrotik
    • Keenetic
  • Black Desert
    • BDO Releases
  • Lineage 2
    • АвторскиС дополнСния
    • ДополнСния
    • Java сСрвСр
    • Web
    • Руководства
    • Π Π΅Π²ΠΈΠ·ΠΈΠΈ | RUSaCis - эмулятор Interlude
  • amnezia
    • РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ VPN Amnezia
    • VPN Documentation
  • Mods for Ravenfield
    • Weapons for Ravenfield
  • ΠœΠΎΠ΄Ρ‹ для Oblivion Ru
    • ΠžΡ€ΡƒΠΆΠΈΠ΅
  • Minecraft Mods EN
    • Adventure
  • Flutter - Build apps for any screen
    • Flutter documentation
  • Oblivion Remastered EN
    • Animations
  • The Witcher 3 EN
    • Alchemy and Crafting
  • ΠœΠΎΠ΄Ρ‹ для Oblivion Remastered RU
    • Π”ΠΎΠΌΠ° для ΠΈΠ³Ρ€ΠΎΠΊΠ°
    • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ
    • Π“Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉ ΠΈ измСнСния
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°Ρ‚Ρ‡ΠΈ
    • РСтСкстуры ΠΈ рСплСйсСры
    • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Oblivion Remastered
    • ОдСТда, аксСссуары
  • ΠœΠΎΠ΄Ρ‹ для Π’Π΅Π΄ΡŒΠΌΠ°ΠΊ 3 RU
    • ΠžΡ€ΡƒΠΆΠΈΠ΅
    • Броня
    • Π“Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉ
    • Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния
    • МодСли ΠΈ тСкстуры
    • Π›ΠΈΡ†Π° ΠΈ причёски
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°Ρ‚Ρ‡ΠΈ
    • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹
    • Π§ΠΈΡ‚ ΠΊΠΎΠ΄Ρ‹
    • БохранСния (сСйвы)
  • Nodejs
  • Ubuntu
    • WGDashboard
    • Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»
    • marzban
    • vpn panel Remnawave Panel
    • vpn
    • Автоматизация
    • Π’ΠΈΠ΄Π΅ΠΎΠ·Π²ΠΎΠ½ΠΊΠΈ
  • Tera
    • Tera Releases
  • bdo evilfox
    • Π“Π°ΠΉΠ΄Ρ‹
    • Админ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ PTS Corsar
    • Corsair API
  • WireGuard
  • Π›ΡƒΡ‡ΡˆΠΈΠΉ VPN WireGuard
  • Minecraft
    • ΠœΠΎΠ΄Ρ‹
    • ΠžΡ€ΡƒΠΆΠΈΠ΅
  • Matrix
    • Π³Π°ΠΉΠ΄Ρ‹
ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Π²ΠΈΠΆΠΊΠ°
Бтатистика
This website uses cookies to enhance your browsing experience. By continuing to use this site, you consent to our use of cookies. For more information, please read our Privacy Policy.
Β© EvilFox 2022-2026. всС ΠΏΡ€Π°Π²Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹.