In [.env](.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
```bash
```bash
$ docker-compose up -d
$ docker run -d \
--name=amnezia-wg-easy \
-e LANG=en \
-e WG_HOST=<b>🚨YOUR_SERVER_IP</b> \
-e PASSWORD=<b>🚨YOUR_ADMIN_PASSWORD</b> \
-v ~/.amnezia-wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--device=/dev/net/tun:/dev/net/tun \
--restart unless-stopped \
ghcr.io/spcfox/amnezia-wg-easy
```
```
The Web UI will now be available on `http://0.0.0.0:51821`.
The Web UI will now be available on `http://0.0.0.0:51821`.
@ -57,7 +65,8 @@ These options can be configured by setting environment variables using `-e KEY="
| Env | Default | Example | Description |
| Env | Default | Example | Description |
| - | - | - | - |
| - | - | - | - |
| `LANGUAGE` | `en` | `de` | Web UI language. List of available languages in [i18n.js]() |
| `LANGUAGE` | `en` | `de` | Web UI language (Supports: en, ru, tr, no, pl, fr, de, ca, es). |
| `CHECK_UPDATE` | `true` | `false` | Check for a new version and display a notification about its availability |
| `PORT` | `51821` | `6789` | TCP port for Web UI. |
| `PORT` | `51821` | `6789` | TCP port for Web UI. |
| `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. |
| `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. |
| `PASSWORD` | - | `foobar123` | When set, requires a password when logging in to the Web UI. |
@ -78,10 +87,20 @@ These options can be configured by setting environment variables using `-e KEY="
| `JMAX` | `1000` | `250` | Junk packet maximum size — maximum size for Junk packets. |
| `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. |
| `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. |
| `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.|
| `H1` | `random` | `1234567891` | 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.|
| `H2` | `random` | `1234567892` | 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.|
| `H3` | `random` | `1234567893` | 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.|
| `H4` | `random` | `1234567894` | Transport packet magic header — header of the packet of the data packet. Must be <uint_max.|
First and foremost, thank you! We appreciate that you want to contribute to wg-easy, your time is valuable, and your contributions mean a lot to us.
First and foremost, thank you! We appreciate that you want to contribute to amnezia-wg-easy, your time is valuable, and your contributions mean a lot to us.
## Important!
## Important!
@ -25,14 +25,13 @@ Creating an issue is the simplest form of contributing to a project. But there a
- Bug reports
- Bug reports
## Showing support for wg-easy
## Showing support for amnezia-wg-easy
Please keep in mind that open source software is built by people like you, who spend their free time creating things the rest the community can use.
Please keep in mind that open source software is built by people like you, who spend their free time creating things the rest the community can use.
Don't have time to contribute? No worries, here are some other ways to show your support for wg-easy:
Don't have time to contribute? No worries, here are some other ways to show your support for amnezia-wg-easy:
- star the [project](https://github.com/wg-easy/wg-easy)
- star the [project](https://github.com/spcfox/amnezia-wg-easy)
- tweet your support for wg-easy
## Issues
## Issues
@ -67,14 +66,14 @@ Please be as descriptive as possible when creating an issue. Give us the informa
- **description**: (required) What is the bug you're experiencing? How are you using this library/app?
- **description**: (required) What is the bug you're experiencing? How are you using this library/app?
- **OS**: (required) what operating system are you on?
- **OS**: (required) what operating system are you on?
- **version**: (required) please note the version of wg-easy are you using
- **version**: (required) please note the version of amnezia-wg-easy are you using
- **error messages**: (required) please paste any error messages into the issue, or a [gist](https://gist.github.com/)
- **error messages**: (required) please paste any error messages into the issue, or a [gist](https://gist.github.com/)
- **extensions, plugins, helpers, etc** (if applicable): please list any extensions you're using
- **extensions, plugins, helpers, etc** (if applicable): please list any extensions you're using
### Closing issues
### Closing issues
The original poster or the maintainers of wg-easy may close an issue at any time. Typically, but not exclusively, issues are closed when:
The original poster or the maintainers of amnezia-wg-easy may close an issue at any time. Typically, but not exclusively, issues are closed when:
- The issue is resolved
- The issue is resolved
- The project's maintainers have determined the issue is out of scope
- The project's maintainers have determined the issue is out of scope