1
0
mirror of https://github.com/donaldzou/WGDashboard.git synced 2024-11-22 07:10:09 +01:00

Initial testing to update from version 4.0.3 to 4.0.4 have succeeded!

This commit is contained in:
Daan 2024-10-23 23:47:00 +02:00
parent 166fcda193
commit 4902b5f351

View File

@ -13,7 +13,7 @@ I have tried to embed some new features such as `isolate` and interface startup
## Getting the container running: ## Getting the container running:
To get the container running you either pull the image from the repository, `dselen/wgdashboard:latest`.<br> To get the container running you either pull the image from the repository, `donaldzou/wgdashboard:latest`.<br>
From there either use the environment variables describe below as parameters or use the Docker Compose file: `compose.yaml`.<br> From there either use the environment variables describe below as parameters or use the Docker Compose file: `compose.yaml`.<br>
Be careful, the default generated WireGuard configuration file uses port 51820/udp. So use this port if you want to use it out of the box.<br> Be careful, the default generated WireGuard configuration file uses port 51820/udp. So use this port if you want to use it out of the box.<br>
Otherwise edit the configuration file in `/etc/wireguard/wg0.conf`. Otherwise edit the configuration file in `/etc/wireguard/wg0.conf`.
@ -22,14 +22,14 @@ An example of a simple command to get the container running is show below:<br>
```shell ```shell
docker run -d \ docker run -d \
--name wireguard-dashboard \ --name wgdashboard \
--restart unless-stopped \ --restart unless-stopped \
-e enable=wg0 \ -e enable=wg0 \
-e isolate=wg0 \ -e isolate=wg0 \
-p 10086:10086/tcp \ -p 10086:10086/tcp \
-p 51820:51820/udp \ -p 51820:51820/udp \
--cap-add NET_ADMIN \ --cap-add NET_ADMIN \
dselen/wgdashboard:latest donaldzou/wgdashboard:latest
``` ```
<br> <br>
If you want to use Compose instead of a raw Docker command, refer to the example in the `compose.yaml` or the one pasted below: If you want to use Compose instead of a raw Docker command, refer to the example in the `compose.yaml` or the one pasted below:
@ -37,34 +37,38 @@ If you want to use Compose instead of a raw Docker command, refer to the example
```yaml ```yaml
services: services:
wireguard-dashboard: wgdashboard:
image: dselen/wgdashboard:latest image: donaldzou/wgdashboard:latest
restart: unless-stopped restart: unless-stopped
container_name: wire-dash container_name: wgdashboard
environment: environment:
#- tz= #- tz=
#- global_dns= #- global_dns=
- enable=none #- enable=
- isolate=wg0 #- isolate=
#- public_ip= #- public_ip=
ports: ports:
- 10086:10086/tcp - 10086:10086/tcp
- 51820:51820/udp - 51820:51820/udp
volumes: volumes:
- conf:/etc/wireguard - conf:/etc/wireguard
- app:/opt/wireguarddashboard/app - data:/data
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
volumes: volumes:
conf: conf:
app: data:
``` ```
If you want to customize the yaml, make sure the core stays the same, but for example volume PATHs can be freely changed.<br> If you want to customize the yaml, make sure the core stays the same, but for example volume PATHs (ON THE HOST) can be freely changed.<br>
This setup is just generic and will use the Docker volumes. This setup is just generic and will use the Docker volumes.
## Updating the container:
Updating is right now in Alpha stage. I have got it to work, testing methods.
## Working with the container and environment variables: ## Working with the container and environment variables:
Once the container is running, the installation process is essentially the same as running it on bare-metal.<br> Once the container is running, the installation process is essentially the same as running it on bare-metal.<br>
@ -76,7 +80,7 @@ So go to the assign TCP port in this case HTTP, like the default 10086 one in th
| global_dns | Any IPv4 address, such as my personal recommendation: 9.9.9.9 (QUAD9). | `1.1.1.1` | `8.8.8.8` or any IP-Address that resolves DNS-names, and of course is reachable | Set the default DNS given to clients once they connect to the WireGuard tunnel, and for new peers, set to Cloudflare DNS for reliability. | global_dns | Any IPv4 address, such as my personal recommendation: 9.9.9.9 (QUAD9). | `1.1.1.1` | `8.8.8.8` or any IP-Address that resolves DNS-names, and of course is reachable | Set the default DNS given to clients once they connect to the WireGuard tunnel, and for new peers, set to Cloudflare DNS for reliability.
| enable | Anything, preferably an existing WireGuard interface name. | `none` | `wg0,wg2,wg13` | Enables or disables the starting of the WireGuard interface on container 'boot-up'. | enable | Anything, preferably an existing WireGuard interface name. | `none` | `wg0,wg2,wg13` | Enables or disables the starting of the WireGuard interface on container 'boot-up'.
| isolate | Anything, preferably an existing WireGuard interface name. | `wg0` | `wg1,wg0` | For security premade `wg0` interface comes with this feature enabled by default. Declaring `isolate=none` in the Docker Compose file will remove this. The WireGuard interface itself IS able to reach the peers (Done through the `iptables` package). | isolate | Anything, preferably an existing WireGuard interface name. | `wg0` | `wg1,wg0` | For security premade `wg0` interface comes with this feature enabled by default. Declaring `isolate=none` in the Docker Compose file will remove this. The WireGuard interface itself IS able to reach the peers (Done through the `iptables` package).
| public_ip | Any IPv4 (public recommended) address, such as the one returned by default | Default uses the return of `curl ifconfig.me` | `23.50.131.156` | To reach your VPN from outside your own network, you need WG-Dashboard to know what your public IP-address is, otherwise it will generate faulty config files for clients. This happends because it is inside a Docker/Kubernetes container. In or outside of NAT is not relevant as long as the given IP-address is reachable from the internet or the target network. | public_ip | Any IPv4 (public recommended) address, such as the one returned by default | Default uses the return of `curl ifconfig.me` | `89.20.83.118` | To reach your VPN from outside your own network, you need WG-Dashboard to know what your public IP-address is, otherwise it will generate faulty config files for clients. This happends because it is inside a Docker/Kubernetes container. In or outside of NAT is not relevant as long as the given IP-address is reachable from the internet or the target network.
## Be careful with: ## Be careful with:
@ -87,8 +91,9 @@ The latter opens up UDP ports from 51820 to 51830, so all ports in between as we
To build the image yourself, you need to do a couple things:<br> To build the image yourself, you need to do a couple things:<br>
1. Clone the Github repository containing the source code of WGDashboard including the docker directory. For example do: `git clone https://github.com/donaldzou/WGDashboard.git` 1. Clone the Github repository containing the source code of WGDashboard including the docker directory. For example do: `git clone https://github.com/donaldzou/WGDashboard.git`
1. Navigate into the docker directory. 1. Navigate into the cloned repository.
1. (Make sure you have Docker correctly installed, if not: [Click here](https://docs.docker.com/engine/install/)) and run: `docker build . -t <Image name>:<Image tag>` as an example: `docker build . -t dselen/wgdashboard:latest`.<br>This will make Docker compile the image from the resources in the directory you mention, in this case the current one. Let it compile, it takes about a minute or maximally two. 1. (Make sure you have Docker correctly installed, if not: [Click here](https://docs.docker.com/engine/install/)) and run: `docker build . -t <Image name>:<Image tag>` as an example: `docker build . -t dselen/wgdashboard:latest`.<br>
This will make Docker compile the image from the resources in the directory you mention, in this case the source/root one. Let it compile, it takes only a couple seconds with a minute at most.
1. If all went well, see your image with `docker images`. Example below: 1. If all went well, see your image with `docker images`. Example below:
```shell ```shell
@ -99,8 +104,4 @@ dselen/wgdashboard latest c96fd96ee3b3 42 minutes ago 314MB
## Closing remarks: ## Closing remarks:
For feedback please submit an issue to the repository. Or message dselen@nerthus.nl. For feedback please submit an issue to the repository. Or message dselen@nerthus.nl.
## In Progress:
Auto-Updating Capabilities, together with Donald I am working on it.