Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
LABEL maintainer="Matts Bos - MattsTechInfo"

# Configure the NordVPN client version to install at build
ARG NORDVPN_CLIENT_VERSION=3.16.5
ARG NORDVPN_CLIENT_VERSION=3.17.0

# Avoid interactions during build process
ARG DEBIAN_FRONTEND=noninteractive
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ A `.env` file is supplied with the `docker-compose.yml` file for configuration p
#### General config
- `NORDVPN_TOKEN` - Supply your `Access token` to be able to login. If you want to use a file or secret instead, please leave this ENV blank or comment it out.
- `NORDVPN_TOKENFILE` - Load the `Access token` from a file mounted in the container. Make sure nothing else but the token is inside. Please leave this blank if you are using `NORDVPN_TOKEN` or comment it out.
- `NORDVPN_MESHNET_DEBUG` - Enable debug mode, anything non-empty will ENABLE. Use this if you need more verbose error logging for troubleshooting.
- `NORDVPN_HEALTHCHECK_INTERVAL` - Set the interval to verify connectivity to the set URL, defaults to 300 (seconds).
- `NORDVPN_HEALTHCHECK_URL` - An address to verify if connectivity is available. Choose something depending on what connectivity you want to verify, defaults to www.google.com. Please keep in mind, if the healthcheck fails the container will be killed.

Expand Down Expand Up @@ -76,5 +77,8 @@ Make sure you have the `meshnet-env.yaml` file configured and run `kubectl apply
## ARM64
Next to the default AMD64 platform this container is also built for ARM64. This will allow for easy deployment on Ampere based K8s nodes or VM's in, for example, the Free-Tier Oracle Cloud Infrastructure. At this moment, specific OKE images seem to miss some iptables modules, running `sudo modprobe iptable_filter` on your worker nodes will fix this.

## Synology
A few users have had some problems with certain Synology devices as these do not come with the correct iptables modules, a manual will be added to the documentation when I have time to do this. For now, please join the Discord as the solution is posted to the support channel there.

## Credits
Starting this image has been based on the excellent work of https://github.com/bubuntux/nordvpn with their NordVPN client implementation in Docker.
2 changes: 2 additions & 0 deletions docker-compose/.env
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
NORDVPN_TOKEN=abcdefgh12345678
# Load token from file (path to mount location), comment to use token ENV.
NORDVPN_TOKENFILE=/path/to/tokenfile
# Enable debug mode, anything non-empty will ENABLE. Use this if you need more verbose error logging.
NORDVPN_MESHNET_DEBUG=
# Healthcheck interval in seconds, default is 300.
NORDVPN_HEALTHCHECK_INTERVAL=300
# Healthcheck URL to verify if connectivity is up. Replace this with something on your Meshnet (if available), defaults to Google.
Expand Down
2 changes: 1 addition & 1 deletion docker-compose/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: "3"
services:
meshnet:
image: ghcr.io/mattstechinfo/meshnet:v3.16.5
image: ghcr.io/mattstechinfo/meshnet:v3.17.0
restart: unless-stopped
cap_add:
- NET_ADMIN
Expand Down
7 changes: 6 additions & 1 deletion fs/etc/services.d/nordvpn/run
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ if [[ ! -d /run/nordvpn ]]; then
mkdir -m 0770 /run/nordvpn
fi

exec s6-notifyoncheck -n 60 -d /usr/sbin/nordvpnd > /dev/null
if [[ -n ${NORDVPN_MESHNET_DEBUG} ]]; then
exec 2>&1
exec s6-notifyoncheck -n 60 -d /usr/sbin/nordvpnd
else
exec s6-notifyoncheck -n 60 -d /usr/sbin/nordvpnd > /dev/null
fi
2 changes: 1 addition & 1 deletion kubernetes/meshnet-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ spec:
hostname: meshnet
containers:
- name: meshnet
image: ghcr.io/mattstechinfo/meshnet:v3.16.5
image: ghcr.io/mattstechinfo/meshnet:v3.17.0
securityContext:
capabilities:
add: ["NET_ADMIN","NET_RAW"]
Expand Down
2 changes: 2 additions & 0 deletions kubernetes/meshnet-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ data:
NORDVPN_TOKEN: abcdefgh12345678
# Load token from file (path to mount location), comment to use token ENV.
NORDVPN_TOKENFILE: /path/to/tokenfile
# Enable debug mode, anything non-empty will ENABLE. Use this if you need more verbose error logging.
NORDVPN_MESHNET_DEBUG: ""
# Healthcheck interval in seconds, default is 300.
NORDVPN_HEALTHCHECK_INTERVAL: 300
# Healthcheck URL to verify if connectivity is up. Replace this with something on your Meshnet (if available), defaults to Google.
Expand Down