diff --git a/README.md b/README.md
index 6680a7fb..6efed05a 100644
--- a/README.md
+++ b/README.md
@@ -42,8 +42,21 @@ You have found the easiest way to install & manage WireGuard on any Linux host!
> [!NOTE]
> To better manage documentation for this project, it has its own site here: [https://wg-easy.github.io/wg-easy/latest](https://wg-easy.github.io/wg-easy/latest)
+
+
+> [!WARNING]
+> As the Docs are still in Pre-release, you can access them here [https://wg-easy.github.io/wg-easy/Pre-release](https://wg-easy.github.io/wg-easy/Pre-release)
+
- [Getting Started](https://wg-easy.github.io/wg-easy/latest/getting-started/)
- [Basic Installation](https://wg-easy.github.io/wg-easy/latest/examples/tutorials/basic-installation/)
+- [Caddy](https://wg-easy.github.io/wg-easy/latest/examples/tutorials/caddy/)
+- [Nginx](https://wg-easy.github.io/wg-easy/latest/examples/tutorials/nginx/)
+- [Traefik](https://wg-easy.github.io/wg-easy/latest/examples/tutorials/traefik/)
+- [Podman](https://wg-easy.github.io/wg-easy/latest/examples/tutorials/podman/)
+- [AdGuard Home](https://wg-easy.github.io/wg-easy/latest/examples/tutorials/adguard/)
+
+> [!NOTE]
+> If you want to migrate from the old version to the new version, you can find the migration guide here: [Migration Guide](https://wg-easy.github.io/wg-easy/latest/advanced/migrate/)
## Requirements
@@ -89,51 +102,6 @@ Now setup a reverse proxy to be able to access the Web UI from the internet.
If you want to access the Web UI over HTTP, change the env var `INSECURE` to `true`. This is not recommended. Only use this for testing
-
-
-
-
### 3. Sponsor
Are you enjoying this project? Consider donating.
@@ -142,46 +110,30 @@ Founder: [Buy Emile a beer!](https://github.com/sponsors/WeeJeWel) 🍻
Maintainer: [Buy kaaax0815 a coffee!](https://github.com/sponsors/kaaax0815) ☕
-
+```shell
+cd src
+pnpm install
+```
## License
diff --git a/docker-compose.yml b/docker-compose.yml
index e8607ffe..94b5e86a 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,7 +9,7 @@ services:
# - HOST=0.0.0.0
# - INSECURE=false
- image: ghcr.io/wg-easy/wg-easy
+ image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
networks:
wg:
@@ -25,7 +25,7 @@ services:
cap_add:
- NET_ADMIN
- SYS_MODULE
- # - NET_RAW # ⚠️ Uncomment if using Podman
+ # - NET_RAW # ⚠️ Uncomment if using Podman Compose
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
diff --git a/docs/content/advanced/config/optional-config.md b/docs/content/advanced/config/optional-config.md
index 7937cfa0..871088b8 100644
--- a/docs/content/advanced/config/optional-config.md
+++ b/docs/content/advanced/config/optional-config.md
@@ -3,3 +3,9 @@ title: Optional Configuration
---
TODO
+
+| Env | Default | Example | Description |
+| ---------- | --------- | ----------- | ------------------------------ |
+| `PORT` | `51821` | `6789` | TCP port for Web UI. |
+| `HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. |
+| `INSECURE` | `false` | `true` | If access over http is allowed |
diff --git a/docs/content/advanced/metrics/prometheus.md b/docs/content/advanced/metrics/prometheus.md
new file mode 100644
index 00000000..b690890d
--- /dev/null
+++ b/docs/content/advanced/metrics/prometheus.md
@@ -0,0 +1,7 @@
+---
+title: Prometheus
+---
+
+TODO
+
+
diff --git a/docs/content/advanced/migrate/index.md b/docs/content/advanced/migrate/index.md
new file mode 100644
index 00000000..82cd1903
--- /dev/null
+++ b/docs/content/advanced/migrate/index.md
@@ -0,0 +1,7 @@
+---
+title: Migrate
+---
+
+If you want to migrate from an older version of `wg-easy` to the new version, you can find the migration guides listed below.
+
+- [Migrate from v14 to v15](./from-14-to-15.md) : This guide should also work for any version before `v14`.
diff --git a/docs/content/examples/tutorials/adguard.md b/docs/content/examples/tutorials/adguard.md
new file mode 100644
index 00000000..ba0f6da5
--- /dev/null
+++ b/docs/content/examples/tutorials/adguard.md
@@ -0,0 +1,5 @@
+---
+title: AdGuard Home
+---
+
+TODO
diff --git a/docs/content/examples/tutorials/auto-updates.md b/docs/content/examples/tutorials/auto-updates.md
new file mode 100644
index 00000000..008c057b
--- /dev/null
+++ b/docs/content/examples/tutorials/auto-updates.md
@@ -0,0 +1,34 @@
+---
+title: Auto Updates
+---
+
+## Docker Compose
+
+With Docker Compose WireGuard Easy can be updated with a single command:
+
+Replace `$DIR` with the directory where your `docker-compose.yml` is located.
+
+```shell
+cd $DIR
+sudo docker compose -f up -d --pull always
+```
+
+## Docker Run
+
+```shell
+sudo docker stop wg-easy
+sudo docker rm wg-easy
+sudo docker pull ghcr.io/wg-easy/wg-easy
+```
+
+And then run the `docker run -d \ ...` command from [Docker Run][docker-run] again.
+
+[docker-run]: ./docker-run.md
+
+## Podman
+
+To update `wg-easy` (and every container that has auto updates enabled), you can run the following commands:
+
+```shell
+sudo podman auto-update
+```
diff --git a/docs/content/examples/tutorials/basic-installation.md b/docs/content/examples/tutorials/basic-installation.md
index 91946264..31ee4dcf 100644
--- a/docs/content/examples/tutorials/basic-installation.md
+++ b/docs/content/examples/tutorials/basic-installation.md
@@ -27,7 +27,7 @@ Follow the Docs here: and install Dock
2. Download docker compose file
```shell
- sudo curl -o $URL/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
+ sudo curl -o $DIR/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
```
3. Start `wg-easy`
@@ -54,3 +54,18 @@ TODO
Open your browser and navigate to `https://:51821` or `https://:51821`.
Follow the instructions to set up your WireGuard VPN.
+
+## Update `wg-easy`
+
+To update `wg-easy` to the latest version, run:
+
+```shell
+sudo docker-compose -f $DIR/docker-compose.yml pull
+sudo docker-compose -f $DIR/docker-compose.yml up -d
+```
+
+## Auto Update
+
+If you want to enable auto-updates, follow the instructions here: [Auto Updates][auto-updates]
+
+[auto-updates]: ./auto-updates.md
diff --git a/docs/content/examples/tutorials/caddy.md b/docs/content/examples/tutorials/caddy.md
new file mode 100644
index 00000000..2f02f2f9
--- /dev/null
+++ b/docs/content/examples/tutorials/caddy.md
@@ -0,0 +1,5 @@
+---
+title: Caddy
+---
+
+TODO
diff --git a/docs/content/examples/tutorials/docker-run.md b/docs/content/examples/tutorials/docker-run.md
new file mode 100644
index 00000000..d0ff6f4a
--- /dev/null
+++ b/docs/content/examples/tutorials/docker-run.md
@@ -0,0 +1,43 @@
+---
+title: Docker Run
+---
+
+To setup the IPv6 Network, simply run once:
+
+```bash
+ docker network create \
+ -d bridge --ipv6 \
+ -d default \
+ --subnet 10.42.42.0/24 \
+ --subnet fdcc:ad94:bacf:61a3::/64 wg \
+```
+
+
+
+To automatically install & run wg-easy, simply run:
+
+```bash
+ docker run -d \
+ --net wg \
+ -e INSECURE=true \
+ --name wg-easy \
+ --ip6 fdcc:ad94:bacf:61a3::2a \
+ --ip 10.42.42.42 \
+ -v ~/.wg-easy:/etc/wireguard \
+ -v /lib/modules:/lib/modules:ro \
+ -p 51820:51820/udp \
+ -p 51821:51821/tcp \
+ --cap-add NET_ADMIN \
+ --cap-add SYS_MODULE \
+ --sysctl net.ipv4.ip_forward=1 \
+ --sysctl net.ipv4.conf.all.src_valid_mark=1 \
+ --sysctl net.ipv6.conf.all.disable_ipv6=0 \
+ --sysctl net.ipv6.conf.all.forwarding=1 \
+ --sysctl net.ipv6.conf.default.forwarding=1 \
+ --restart unless-stopped \
+ ghcr.io/wg-easy/wg-easy:15
+```
+
+The Web UI will now be available on `http://0.0.0.0:51821`.
+
+> 💡 Your configuration files will be saved in `~/.wg-easy`
diff --git a/docs/content/examples/tutorials/nginx.md b/docs/content/examples/tutorials/nginx.md
new file mode 100644
index 00000000..c2ae2eac
--- /dev/null
+++ b/docs/content/examples/tutorials/nginx.md
@@ -0,0 +1,5 @@
+---
+title: NGINX
+---
+
+TODO
diff --git a/docs/content/examples/tutorials/podman.md b/docs/content/examples/tutorials/podman.md
index 7e908d86..33381f74 100644
--- a/docs/content/examples/tutorials/podman.md
+++ b/docs/content/examples/tutorials/podman.md
@@ -19,16 +19,23 @@ sudo mkdir -p /etc/containers/volumes/wg-easy
Create a file `/etc/containers/systemd/wg-easy/wg-easy.container` with the following content:
+
+
```ini
[Container]
ContainerName=wg-easy
-Image=ghcr.io/wg-easy/wg-easy:latest
+Image=ghcr.io/wg-easy/wg-easy:15
+AutoUpdate=registry
Volume=/etc/containers/volumes/wg-easy:/etc/wireguard:Z
Network=wg-easy.network
PublishPort=51820:51820/udp
PublishPort=51821:51821/tcp
+# this is used to allow access over HTTP
+# remove this when using a reverse proxy
+Environment=INSECURE=true
+
AddCapability=NET_ADMIN
AddCapability=SYS_MODULE
AddCapability=NET_RAW
@@ -90,6 +97,16 @@ In the Admin Panel of your WireGuard server, go to the `Hooks` tab and add the f
nft delete table inet wg_table
```
+If you don't have iptables loaded on your server, you could see many errors in the logs or in the UI. You can ignore them.
+
+## Restart the Container
+
+Restart the container to apply the new hooks:
+
+```shell
+sudo systemctl restart wg-easy
+```
+