You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,6 +51,8 @@ The architectures supported by this image are:
51
51
| Architecture | Tag |
52
52
| :----: | --- |
53
53
| x86-64 | amd64-latest |
54
+
| arm64 | arm64v8-latest |
55
+
| armhf | arm32v7-latest |
54
56
55
57
56
58
## Usage
@@ -70,7 +72,7 @@ docker create \
70
72
-e SERVERURL=wireguard.domain.com `#optional` \
71
73
-e SERVERPORT=51820 `#optional` \
72
74
-e PEERS=1 `#optional` \
73
-
-e PEERDNS=8.8.8.8 `#optional` \
75
+
-e PEERDNS=auto `#optional` \
74
76
-e INTERNAL_SUBNET=10.13.13.0 `#optional` \
75
77
-p 51820:51820/udp \
76
78
-v /path/to/appdata/config:/config \
@@ -102,7 +104,7 @@ services:
102
104
- SERVERURL=wireguard.domain.com #optional
103
105
- SERVERPORT=51820 #optional
104
106
- PEERS=1 #optional
105
-
- PEERDNS=8.8.8.8 #optional
107
+
- PEERDNS=auto #optional
106
108
- INTERNAL_SUBNET=10.13.13.0 #optional
107
109
volumes:
108
110
- /path/to/appdata/config:/config
@@ -127,7 +129,7 @@ Container images are configured using parameters passed at runtime (such as thos
127
129
|`-e SERVERURL=wireguard.domain.com`| External IP or domain name for docker host. Used in server mode. If set to `auto`, the container will try to determine and set the external IP automatically |
128
130
|`-e SERVERPORT=51820`| External port for docker host. Used in server mode. |
129
131
|`-e PEERS=1`| Number of peers to create confs for. Required for server mode. |
130
-
|`-e PEERDNS=8.8.8.8`| DNS server set in peer/client configs. Used in server mode. |
132
+
|`-e PEERDNS=auto`| DNS server set in peer/client configs (can be set as `8.8.8.8`). Used in server mode. Defaults to `auto`, which uses wireguard docker host's DNS via included CoreDNS forward. |
131
133
|`-e INTERNAL_SUBNET=10.13.13.0`| Internal subnet for the wireguard and server and peers (only change if it clashes). Used in server mode. |
132
134
|`-v /config`| Contains all relevant configuration files. |
133
135
|`-v /lib/modules`| Maps host's modules folder. |
@@ -162,10 +164,12 @@ In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as bel
162
164
163
165
## Application Setup
164
166
165
-
This image is designed for Ubuntu and Debian x86_64 systems only. During container start, it will download the necessary kernel headers and build the kernel module (until kernel 5.6, which has the module built-in, goes mainstream).
167
+
This image is designed for Ubuntu and Debian based systems only. During container start, it will download the necessary kernel headers and build the kernel module (until kernel 5.6, which has the module built-in, goes mainstream).
166
168
167
169
If you're on a debian/ubuntu based host with a custom or downstream distro provided kernel (ie. Pop!_OS), the container won't be able to install the kernel headers from the regular ubuntu and debian repos. In those cases, you can try installing the headers on the host via `sudo apt install linux-headers-$(uname -r)` (if distro version) and then add a volume mapping for `/usr/src:/usr/src`, or if custom built, map the location of the existing headers to allow the container to use host installed headers to build the kernel module (tested successful on Pop!_OS, ymmv).
168
170
171
+
With regards to arm32/64 devices, Raspberry Pi 2-4 running the [official ubuntu images](https://ubuntu.com/download/raspberry-pi) or Raspbian Buster are supported out of the box. For all other devices and OSes, you can try installing the kernel headers on the host, and mapping `/usr/src:/usr/src` and it may just work (no guarantees).
172
+
169
173
This can be run as a server or a client, based on the parameters used.
170
174
171
175
## Server Mode
@@ -253,6 +257,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
253
257
254
258
## Versions
255
259
260
+
***08.04.20:** - Add arm32/64 builds and enable multi-arch (rpi4 with ubuntu and raspbian buster tested). Add CoreDNS for `PEERDNS=auto` setting. Update the `add-peer`/`show-peer` scripts to utilize the templates and the `INTERNAL_SUBNET` var (previously missed, oops).
256
261
***05.04.20:** - Add `INTERNAL_SUBNET` variable to prevent subnet clashes. Add templates for server and peer confs.
257
262
***01.04.20:** - Add `show-peer` script and include info on host installed headers.
- { env_var: "SERVERURL", env_value: "wireguard.domain.com", desc: "External IP or domain name for docker host. Used in server mode. If set to `auto`, the container will try to determine and set the external IP automatically"}
44
46
- { env_var: "SERVERPORT", env_value: "51820", desc: "External port for docker host. Used in server mode."}
45
47
- { env_var: "PEERS", env_value: "1", desc: "Number of peers to create confs for. Required for server mode."}
46
-
- { env_var: "PEERDNS", env_value: "8.8.8.8", desc: "DNS server set in peer/client configs. Used in server mode."}
48
+
- { env_var: "PEERDNS", env_value: "auto", desc: "DNS server set in peer/client configs (can be set as `8.8.8.8`). Used in server mode. Defaults to `auto`, which uses wireguard docker host's DNS via included CoreDNS forward."}
47
49
- { env_var: "INTERNAL_SUBNET", env_value: "10.13.13.0", desc: "Internal subnet for the wireguard and server and peers (only change if it clashes). Used in server mode."}
48
50
49
51
optional_block_1: false
@@ -52,10 +54,12 @@ optional_block_1_items: ""
52
54
# application setup block
53
55
app_setup_block_enabled: true
54
56
app_setup_block: |
55
-
This image is designed for Ubuntu and Debian x86_64 systems only. During container start, it will download the necessary kernel headers and build the kernel module (until kernel 5.6, which has the module built-in, goes mainstream).
57
+
This image is designed for Ubuntu and Debian based systems only. During container start, it will download the necessary kernel headers and build the kernel module (until kernel 5.6, which has the module built-in, goes mainstream).
56
58
57
59
If you're on a debian/ubuntu based host with a custom or downstream distro provided kernel (ie. Pop!_OS), the container won't be able to install the kernel headers from the regular ubuntu and debian repos. In those cases, you can try installing the headers on the host via `sudo apt install linux-headers-$(uname -r)` (if distro version) and then add a volume mapping for `/usr/src:/usr/src`, or if custom built, map the location of the existing headers to allow the container to use host installed headers to build the kernel module (tested successful on Pop!_OS, ymmv).
58
60
61
+
With regards to arm32/64 devices, Raspberry Pi 2-4 running the [official ubuntu images](https://ubuntu.com/download/raspberry-pi) or Raspbian Buster are supported out of the box. For all other devices and OSes, you can try installing the kernel headers on the host, and mapping `/usr/src:/usr/src` and it may just work (no guarantees).
62
+
59
63
This can be run as a server or a client, based on the parameters used.
60
64
61
65
## Server Mode
@@ -74,6 +78,7 @@ app_setup_block: |
74
78
75
79
# changelog
76
80
changelogs:
81
+
- { date: "08.04.20:", desc: "Add arm32/64 builds and enable multi-arch (rpi4 with ubuntu and raspbian buster tested). Add CoreDNS for `PEERDNS=auto` setting. Update the `add-peer`/`show-peer` scripts to utilize the templates and the `INTERNAL_SUBNET` var (previously missed, oops)." }
77
82
- { date: "05.04.20:", desc: "Add `INTERNAL_SUBNET` variable to prevent subnet clashes. Add templates for server and peer confs." }
78
83
- { date: "01.04.20:", desc: "Add `show-peer` script and include info on host installed headers." }
0 commit comments