Browse Source

update docs

pull/1697/head
Bernd Storath 5 months ago
parent
commit
2b9ba1935c
  1. 47
      docs/content/config/migrate/from-14-to-15.md
  2. 47
      docs/content/examples/tutorials/basic-installation.md
  3. 15
      docs/content/examples/tutorials/podman.md
  4. 3
      docs/content/usage.md

47
docs/content/config/migrate/from-14-to-15.md

@ -0,0 +1,47 @@
---
title: Migrate from v14 to v15
---
This guide will help you migrate from `v14` to version `v15` of `wg-easy`.
## Changes
This is a complete rewrite of the `wg-easy` project. Therefore the configuration files and the way you interact with the project have changed.
## Migration
### Backup
Before you start the migration, make sure to backup your existing configuration files.
Go into the Web Ui and click the Backup button, this should download a `wg0.json` file.
Or download the `wg0.json` file from your container volume to your pc.
You will need this file for the migration
### Remove old container
1. Stop the running container
If you are using `docker run`
```shell
docker stop wg-easy
```
If you are using `docker-compose`
```shell
docker-compose down
```
### Start new container
Follow the instructions in the [Getting Started](../../usage.md) or [Basic Installation](../../examples/tutorials/basic-installation.md) guide to start the new container.
In the setup wizard, select that you already already have a configuration file and upload the `wg0.json` file you downloaded in the backup step.
### Done
You have now successfully migrated to `v15` of `wg-easy`.

47
docs/content/examples/tutorials/basic-installation.md

@ -4,4 +4,49 @@ title: Basic Installation
<!-- TOOD: add docs for pihole, nginx, caddy, traefik --> <!-- TOOD: add docs for pihole, nginx, caddy, traefik -->
TODO ## Requirements
1. You need to have a host that you can manage
2. You need to have a domain name or a public IP address
3. You need a supported architecture (x86_64, arm64)
4. You need curl installed on your host
## Install Docker
Follow the Docs here: <https://docs.docker.com/engine/install/> and install Docker on your host.
## Install `wg-easy`
1. Create a directory for the configuration files (you can choose any directory you like):
```shell
DIR=/docker/wg-easy
sudo mkdir -p $DIR
```
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
```
3. Start `wg-easy`
```shell
sudo docker-compose -f $DIR/docker-compose.yml up -d
```
## Setup Firewall
If you are using a firewall, you need to open the following ports:
- UDP 51820 (WireGuard)
- TCP 51821 (Web UI)
These ports can be changed, so if you change them you have to update your firewall rules accordingly.
## Access the Web UI
Open your browser and navigate to `https://<your-domain>:51821` or `https://<your-ip>:51821`.
Follow the instructions to set up your WireGuard VPN.

15
docs/content/examples/tutorials/podman.md

@ -2,8 +2,6 @@
title: Podman title: Podman
--- ---
# Podman
This guide will show you how to run `wg-easy` with rootful Podman and nftables. This guide will show you how to run `wg-easy` with rootful Podman and nftables.
## Requirements ## Requirements
@ -82,16 +80,17 @@ In the Admin Panel of your WireGuard server, go to the `Hooks` tab and add the f
1. PostUp 1. PostUp
```shell ```shell
apk add nftables; nft add table inet wg_table; nft add chain inet wg_table postrouting { type nat hook postrouting priority 100 \; }; nft add rule inet wg_table postrouting ip saddr {{ipv4Cidr}} oifname {{device}} masquerade; nft add rule inet wg_table postrouting ip6 saddr {{ipv6Cidr}} oifname {{device}} masquerade; nft add chain inet wg_table input { type filter hook input priority 0 \; }; nft add rule inet wg_table input udp dport {{port}} accept; nft add chain inet wg_table forward { type filter hook forward priority 0 \; }; nft add rule inet wg_table forward iifname "wg0" accept; nft add rule inet wg_table forward oifname "wg0" accept; apk add nftables; nft add table inet wg_table; nft add chain inet wg_table postrouting { type nat hook postrouting priority 100 \; }; nft add rule inet wg_table postrouting ip saddr {{ipv4Cidr}} oifname {{device}} masquerade; nft add rule inet wg_table postrouting ip6 saddr {{ipv6Cidr}} oifname {{device}} masquerade; nft add chain inet wg_table input { type filter hook input priority 0 \; policy drop \; }; nft add rule inet wg_table input udp dport {{port}} accept; nft add chain inet wg_table forward { type filter hook forward priority 0 \; policy drop \; }; nft add rule inet wg_table forward iifname "wg0" accept; nft add rule inet wg_table forward oifname "wg0" accept;
``` ```
2. PostDown 2. PostDown
```shell ```shell
nft delete table inet wg_table nft delete table inet wg_table
``` ```
<!-- <!--
TODO: improve docs after better nftables support TODO: improve docs after better nftables support
TODO: fix accept web ui port
--> -->

3
docs/content/usage.md

@ -46,8 +46,11 @@ All workflows are using the tagging convention listed below. It is subsequently
| `cron` on `master` | `nightly` | | `cron` on `master` | `nightly` |
| `push` a tag (`v1.2.3`) | `1.2.3`, `1.2`, `1`, `latest` | | `push` a tag (`v1.2.3`) | `1.2.3`, `1.2`, `1`, `latest` |
When publishing a tag we follow the [Semantic Versioning][semver] specification. The `latest` tag is always pointing to the latest stable release. If you want to avoid breaking changes, use the major version tag (e.g. `15`).
[github-ci]: https://github.com/wg-easy/wg-easy/actions [github-ci]: https://github.com/wg-easy/wg-easy/actions
[ghcr-image]: https://github.com/wg-easy/wg-easy/pkgs/container/wg-easy [ghcr-image]: https://github.com/wg-easy/wg-easy/pkgs/container/wg-easy
[semver]: https://semver.org/
### Get All Files ### Get All Files

Loading…
Cancel
Save