wg-easy

    wg-easy/wg-easy

    #319 this week

    The easiest way to run WireGuard VPN + Web-based Admin UI.

    web
    TypeScript
    AGPL-3.0
    26.5K stars
    2.5K forks
    26.5K GitHub watchers
    Updated 7/27/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • wg-easy provides an easy-to-use web-based admin UI to install and manage WireGuard VPN on any Linux host.
    • Key features include client management, QR code generation, connection statistics, 2FA, Prometheus metrics, IPv6, and multilanguage support.
    • Strengths are simplicity, Docker-based deployment, active maintenance, and extensive documentation; limitation is dependency on Docker and Linux hosts.
    • Organizations can deploy wg-easy in production to quickly set up secure VPNs with centralized client control and monitoring via a web interface.
    • Ideal use cases include small to medium businesses needing simple VPN setup, remote team connectivity, and secure client access management.

    About wg-easy

    WireGuard Easy

    Build & Publish latest Image Lint GitHub Stars License GitHub Release Image Pulls

    You have found the easiest way to install & manage WireGuard on any Linux host!

    wg-easy Screenshot

    Features

    • All-in-one: WireGuard + Web UI.
    • Easy installation, simple to use.
    • List, create, edit, delete, enable & disable clients.
    • Show a client's QR code.
    • Download a client's configuration file.
    • Statistics for which clients are connected.
    • Tx/Rx charts for each connected client.
    • Gravatar support.
    • Automatic Light / Dark Mode
    • Multilanguage Support
    • One Time Links
    • Client Expiration
    • Prometheus metrics support
    • IPv6 support
    • CIDR support
    • 2FA support

    [!NOTE] To better manage documentation for this project, it has its own site here: https://wg-easy.github.io/wg-easy/latest

    [!NOTE] If you want to migrate from the old version to the new version, you can find the migration guide here: Migration Guide

    Installation

    This is a quick start guide to get you up and running with WireGuard Easy.

    For a more detailed installation guide, please refer to the Getting Started page.

    1. Install Docker

    If you haven't installed Docker yet, install it by running as root:

    curl -sSL https://get.docker.com | sh
    exit
    

    And log in again.

    2. Run WireGuard Easy

    The easiest way to run WireGuard Easy is with Docker Compose.

    Just follow these steps in the detailed documentation.

    You can also install WireGuard Easy with the docker run command or via podman.

    Now setup a reverse proxy to be able to access the Web UI securely from the internet. This step is optional, just make sure to follow the guide here if you decide not to do it.

    Are you enjoying this project? Consider donating.

    Founder: Buy Emile a beer! 🍻

    Maintainer: Buy kaaax0815 a coffee!

    Development

    Prerequisites

    • Docker
    • Node LTS & corepack enabled
    • Visual Studio Code

    Dev Server

    This starts the development server with docker

    pnpm dev
    

    Update Auto Imports

    If you add something that should be auto-importable and VSCode complains, run:

    cd src
    pnpm install
    cd ..
    

    Test Cli

    This starts the cli with docker

    pnpm cli:dev
    

    License

    This project is licensed under the AGPL-3.0-only License - see the LICENSE file for details

    This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security

    "WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld

    Discover Repositories

    Search across tracked repositories by name or description