diff --git a/docs/AppList.md b/docs/AppList.md index 28f3eef..28a080d 100644 --- a/docs/AppList.md +++ b/docs/AppList.md @@ -109,6 +109,7 @@ List of all apps included in this project with info related to it. |Quassel IRC|32/64 bit|Container| | | | | |Radarr|32/64 bit|Container| | | | | |Raspberry Pi Docker Monitor|32/64 bit|Stack| [![](../build/images/doc_icon.png)](../docs/rpi_docker_monitor.md) | [![](../build/images/script_icon.png)](../tools/rpi_docker_monitor.sh) | | [![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=plastic&logo=youtube&logoColor=white)](https://www.youtube.com/watch?v=IoD3vFuep64&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=8) | +|Reactive-Resume|64 bit|Container| | | | | |Redmine|32/64 bit|Stack| | | | | |Resilio Sync|32/64 bit|Container| | | | | |ruTorrent|32/64 bit|Container| | | | | diff --git a/docs/images/wireguard_DeployStack.png b/docs/images/wireguard_DeployStack.png new file mode 100644 index 0000000..ae9af2b Binary files /dev/null and b/docs/images/wireguard_DeployStack.png differ diff --git a/docs/wireguard-install.md b/docs/wireguard-install.md index 12d04b5..c911e6a 100644 --- a/docs/wireguard-install.md +++ b/docs/wireguard-install.md @@ -15,34 +15,23 @@ An easy to use VPN server powered by [WireGuard](https://github.com/WeeJeWel/wg- First find Wiregaurd in the listing of templates from the project. ![find wireguard](https://user-images.githubusercontent.com/42878642/140615769-aad713c2-630c-437a-b56d-9102e2f7b1ed.png) -Then you will want to "Copy as Custom" because we will need to change some of the default values to tailor it for your use. -![copy custom](https://user-images.githubusercontent.com/42878642/140615790-b8fda3f3-496d-46d7-aa02-16de1877f289.png) +## Set all variables -### This Step is now complete go to the next step. -

-## Customize the App Template.
+![DeployStack](images/wireguard_DeployStack.png) -We will need to edit the template to change a few values. -![edit template](https://user-images.githubusercontent.com/42878642/140615811-9307f1cf-078a-4e38-b5d9-bad661c1bfad.png) +- `WG_HOST`: A domain name (usually a DDNS) that points to your public IP +- `PASSWORD`: Password to access the WebUI interface. If left blank, there will be no login page +- `WG_PORT`: PORT to use to connect to Wireguard from outside +- `WG_DEFAULT_DNS`: DNS to use while on VPN. It can point to your router (usually 192.168.x.x) or an external one (like 1.1.1.1 or 8.8.8.8). You can set 2 separating them by comma +- `WG_ALLOWED_IPS`: IPs which connection will be allowed. -First Ensure the top 3 items (highlighted yellow) are filled out with your own values. +On my network I deploy a Pi-Hole for DNS level ad blocking and I also have multiple networks which all have various devices on them. So for my setup I used the following values, but make sure you use what will work for your setup: -Second you will need to change the two values in the environment section that are circled. - -Third you may want to change the 2 items with lines next to them. On my network I deploy a Pi-Hole for DNS level ad blocking and I also have multiple networks which all have -various devices on them. So for my setup I used the following values, but make sure you use what will work for your setup:
`- WG_DEFAULT_DNS=192.168.1.1` #This is the address of my router for DNS forwarding on my network, you can use outside DNS servers for this ie. 8.8.8.8, 8.8.4.4
`- WG_ALLOWED_IPS=0.0.0.0/0, ::/0` #This will allow all addresses from any network, you may want to lock this down for your own setup. -Finally make sure you save these values by clicking on the "Update the Template" button on the bottom -![update template](https://user-images.githubusercontent.com/42878642/140615992-60749352-c0b5-4566-ba1f-06b675a3b517.png) -

+Once done, just click `Deploy the stack`. -## Deploy the Stack - -Find the new entry (WireGuard) in your Custom Templates and click on it, then click on the "Deploy the stack" button on the bottom. -![deploy stack](https://user-images.githubusercontent.com/42878642/140616046-89987892-358c-488d-ad97-afb82338c5e0.png) -

### Setup a User On your main browser navigate to your pi's ip address with port attached (http://192.168.1.10:51821/) diff --git a/pi-hosted_template/template/portainer-v2.json b/pi-hosted_template/template/portainer-v2.json index c5378bb..9e1fff1 100644 --- a/pi-hosted_template/template/portainer-v2.json +++ b/pi-hosted_template/template/portainer-v2.json @@ -5436,13 +5436,42 @@ "Other", "VPN" ], - "description": "You have found the easiest way to install & manage WireGuard on any Linux host!", - "image": "weejewel/wg-easy", + "description": "Fast VPN Server with easy to use User Interface", + "image": "weejewel/wg-easy:latest", "logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/wireguard.png", "name": "wg-easy", "platform": "linux", "title": "Wireguard Server", "type": 3, + "env": [ + { + "default": "example.domain.com", + "name": "WG_HOST", + "label": "WG_HOST", + "description": "Set here your DDNS domain" + }, + { + "default": "ENTER AN ADMIN PASSWORD", + "name": "PASSWORD", + "label": "PASSWORD", + "description": "Leave blank to access WebUI without loggin" + }, + { + "default": "51820", + "name": "WG_PORT", + "label": "WG_PORT" + }, + { + "default": "1.1.1.1", + "name": "WG_DEFAULT_DNS", + "label": "WG_DEFAULT_DNS" + }, + { + "default": "0.0.0.0/0, ::/0", + "name": "WG_ALLOWED_IPS", + "label": "WG_ALLOWED_IPS" + } + ], "repository": { "stackfile": "stack/wireguard-easy.yml", "url": "https://github.com/pi-hosted/pi-hosted" diff --git a/stack/wireguard-easy.yml b/stack/wireguard-easy.yml index b36a2ac..bd2ca07 100644 --- a/stack/wireguard-easy.yml +++ b/stack/wireguard-easy.yml @@ -4,21 +4,21 @@ services: environment: # ⚠️ Required: # Change this to your host's public address - - WG_HOST=raspberrypi.local + - WG_HOST=${WG_HOST} # Optional: - - PASSWORD=foobar123 - - WG_PORT=51820 + - PASSWORD=${PASSWORD} + - WG_PORT=${WG_PORT} - WG_DEFAULT_ADDRESS=10.8.0.x - - WG_DEFAULT_DNS=1.1.1.1 - - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24 + - WG_DEFAULT_DNS=${WG_DEFAULT_DNS} + - WG_ALLOWED_IPS=${WG_ALLOWED_IPS} image: weejewel/wg-easy container_name: wg-easy volumes: - /portainer/Files/AppData/Config/wireguard:/etc/wireguard ports: - - "51820:51820/udp" + - "${WG_PORT}:51820/udp" - "51821:51821/tcp" restart: unless-stopped cap_add: @@ -26,4 +26,4 @@ services: - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 - - net.ipv4.conf.all.src_valid_mark=1 \ No newline at end of file + - net.ipv4.conf.all.src_valid_mark=1 diff --git a/template/portainer-v2-arm32.json b/template/portainer-v2-arm32.json index a96a241..5350f28 100644 --- a/template/portainer-v2-arm32.json +++ b/template/portainer-v2-arm32.json @@ -5402,13 +5402,42 @@ "Other", "VPN" ], - "description": "You have found the easiest way to install & manage WireGuard on any Linux host!", - "image": "weejewel/wg-easy", + "description": "Fast VPN Server with easy to use User Interface", + "image": "weejewel/wg-easy:latest", "logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/wireguard.png", "name": "wg-easy", "platform": "linux", "title": "Wireguard Server", "type": 3, + "env": [ + { + "default": "example.domain.com", + "name": "WG_HOST", + "label": "WG_HOST", + "description": "Set here your DDNS domain" + }, + { + "default": "ENTER AN ADMIN PASSWORD", + "name": "PASSWORD", + "label": "PASSWORD", + "description": "Leave blank to access WebUI without loggin" + }, + { + "default": "51820", + "name": "WG_PORT", + "label": "WG_PORT" + }, + { + "default": "1.1.1.1", + "name": "WG_DEFAULT_DNS", + "label": "WG_DEFAULT_DNS" + }, + { + "default": "0.0.0.0/0, ::/0", + "name": "WG_ALLOWED_IPS", + "label": "WG_ALLOWED_IPS" + } + ], "repository": { "stackfile": "stack/wireguard-easy.yml", "url": "https://github.com/pi-hosted/pi-hosted" diff --git a/template/portainer-v2-arm64.json b/template/portainer-v2-arm64.json index 2eaea40..2d4efed 100644 --- a/template/portainer-v2-arm64.json +++ b/template/portainer-v2-arm64.json @@ -5681,13 +5681,42 @@ "Other", "VPN" ], - "description": "You have found the easiest way to install & manage WireGuard on any Linux host!", + "description": "Fast VPN Server with easy to use User Interface", "image": "weejewel/wg-easy:latest", "logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/wireguard.png", "name": "wg-easy", "platform": "linux", "title": "Wireguard Server", "type": 3, + "env": [ + { + "default": "example.domain.com", + "name": "WG_HOST", + "label": "WG_HOST", + "description": "Set here your DDNS domain" + }, + { + "default": "ENTER AN ADMIN PASSWORD", + "name": "PASSWORD", + "label": "PASSWORD", + "description": "Leave blank to access WebUI without loggin" + }, + { + "default": "51820", + "name": "WG_PORT", + "label": "WG_PORT" + }, + { + "default": "1.1.1.1", + "name": "WG_DEFAULT_DNS", + "label": "WG_DEFAULT_DNS" + }, + { + "default": "0.0.0.0/0, ::/0", + "name": "WG_ALLOWED_IPS", + "label": "WG_ALLOWED_IPS" + } + ], "repository": { "stackfile": "stack/wireguard-easy.yml", "url": "https://github.com/pi-hosted/pi-hosted"