You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

4.2 KiB

AmnewziaWG Easy

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

Features

  • All-in-one: AmneziaWG + Web UI.
  • Easy installation, simple to use.
  • List, create, edit, delete, enable & disable clients.
  • 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

Requirements

  • A host with Docker installed.

Installation

1. Install Docker

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

$ curl -sSL https://get.docker.com | sh
$ sudo usermod -aG docker $(whoami)
$ exit

And log in again.

2. Set environment variables

In .env set the following environment variables:

  • Replace YOUR_SERVER_IP with your WAN IP, or a Dynamic DNS hostname.
  • Replace YOUR_ADMIN_PASSWORD with a password to log in on the Web UI.

3. Build & run the Docker image

$ docker-compose up -d

The Web UI will now be available on http://0.0.0.0:51821.

💡 Your configuration files will be saved in ~/.amnezia-wg-easy

Options

These options can be configured by setting environment variables using -e KEY="VALUE" in the docker run command.

Env Default Example Description
LANGUAGE en de Web UI language. List of available languages in i18n.js
PORT 51821 6789 TCP port for Web UI.
WEBUI_HOST 0.0.0.0 localhost IP address web UI binds to.
PASSWORD - foobar123 When set, requires a password when logging in to the Web UI.
WG_HOST - vpn.myserver.com The public hostname of your VPN server.
WG_DEVICE eth0 ens6f0 Ethernet device the wireguard traffic should be forwarded through.
WG_PORT 51820 12345 The public UDP port of your VPN server. WireGuard will always listen on 51820 inside the Docker container.
WG_MTU null 1420 The MTU the clients will use. Server uses default WG MTU.
WG_PERSISTENT_KEEPALIVE 0 25 Value in seconds to keep the "connection" open. If this value is 0, then connections won't be kept alive.
WG_DEFAULT_ADDRESS 10.8.0.x 10.6.0.x Clients IP address range.
WG_DEFAULT_DNS 1.1.1.1 8.8.8.8, 8.8.4.4 DNS server clients will use. If set to blank value, clients will not use any DNS.
WG_ALLOWED_IPS 0.0.0.0/0, ::/0 192.168.15.0/24, 10.0.1.0/24 Allowed IPs clients will use.
WG_PRE_UP ... - See config.js for the default value.
WG_POST_UP ... iptables ... See config.js for the default value.
WG_PRE_DOWN ... - See config.js for the default value.
WG_POST_DOWN ... iptables ... See config.js for the default value.
JC random 5 Junk packet count — number of packets with random data that are sent before the start of the session.
JMIN 50 25 Junk packet minimum size — minimum packet size for Junk packet. That is, all randomly generated packets will have a size no smaller than Jmin.
JMAX 1000 250 Junk packet maximum size — maximum size for Junk packets.
S1 random 75 Init packet junk size — the size of random data that will be added to the init packet, the size of which is initially fixed.
S2 random 75 Response packet junk size — the size of random data that will be added to the response packet, the size of which is initially fixed.
H1 random 59869232 Init packet magic header — the header of the first byte of the handshake. Must be < uint_max.
H2 random 869587260 Response packet magic header — header of the first byte of the handshake response. Must be < uint_max.
H3 random 1632311713 Underload packet magic header — UnderLoad packet header. Must be < uint_max.
H4 random 820711365 Transport packet magic header — header of the packet of the data packet. Must be < uint_max.

Thanks

Based on wg-easy by Emile Nijssen.