Skip to main content
Newt can be installed as either a static binary executable or a Docker container. You must first create a site and copy the Newt config in Pangolin before running Newt.

Binary Installation

Use this command to automatically install Newt. It detects your system architecture automatically and always pulls the latest version, adding Newt to your PATH:

Windows

To run Newt on Windows, use the latest installer from GitHub releases.
If you are using Newt on Windows as a service or with clients, wintun.dll may be required.

Manual Download

Binaries for Linux, macOS, and Windows are available in the GitHub releases for ARM and AMD64 (x86_64) architectures. Download and install manually:
Replace {version} with the desired version and {architecture} with your architecture. Check the release notes for the latest information.

Running Newt

Run Newt with the configuration from Pangolin:

Systemd Service

Create /etc/newt/newt.env with the initial values from your Pangolin site configuration:
/etc/newt/newt.env
Create the directory, write the file, and restrict its permissions:
Then create a systemd service. Newt reads those environment variables automatically, so ExecStart does not need to repeat them as flags:
/etc/systemd/system/newt.service
Make sure the binary exists at /usr/local/bin/newt before daemon reload and starting the service:
Reload systemd and enable the service:
If you later change /etc/newt/newt.env, restart the service so Newt picks up the new values. See Configure Sites for more environment variables.

Docker Installation

Pull the Image

Pull the latest Newt image from Docker Hub:

Run with Docker

Run Newt with CLI arguments from Pangolin:

Docker Compose

docker-compose.yml

Config File Injected as Compose Secret

A safer but slightly more complex way is to use Compose Secrets. First, create a JSON file containing your configuration:
newt-config.secret
Then register and reference the secret in your docker-compose.yml:
docker-compose.yml
This allows you to separate sensitive secrets from plain configuration, improving security when storing or sharing your docker-compose.yml anywhere else.

CLI Arguments

docker-compose.yml

Docker healthcheck

The newt cliens suports healthchecks as described in Configure Sites. This file can be used to do a healthcheck from within docker (compose file). We need to define the HEALTH_FILE environment variable as well as the healthcheck itself:
Start the service:

Platform-Specific Installation

Unraid

Newt is available in the Unraid Community Applications store. Search for “Newt” and follow the installation prompts. Enter the ID, secret, and endpoint from Pangolin in the template fields.
Newt on CA

Newt available in Unraid Community Applications store

Portainer and Other UIs

Container management UIs like Portainer typically allow passing commands and environment variables to containers similar to Docker Compose. Look for a commands or arguments configuration section and follow the relevant guides.

Windows Service

On Windows, newt can to be installed and run as a Windows service to remain persistent.

Service Management Commands

Note running the service requires credentials in %PROGRAMDATA%\newt\newt-client\config.json.

Service Configuration

When running as a service, newt will read configuration from environment variables or you can modify the service to include command-line arguments:
  1. Install the service: newt.exe install
  2. Set the credentials in %PROGRAMDATA%\newt\newt-client\config.json. Hint: if you run newt once with —id and —secret this file will be populated!
  3. Start the service: newt.exe start

Service Logs

When running as a service, logs are written to:
  • Windows Event Log (Application log, source: “newtWireguardService”)
  • Log files in: %PROGRAMDATA%\newt\logs\newt.log
You can view the Windows Event Log using Event Viewer or PowerShell:

Advantech Router App

Download the correct version of the router app for your device from the GitHub releases. You can find more information about router apps along with the right version information for your hardware on the the Advantech engineering portal. To install the router app, log into your Advantech router and navigate to the Router Apps section. Upload the downloaded .tgz file and follow the prompts to install.
Advantech router UI showing Newt router app installation

Screenshot of installing the router app on an Advantech router UI

After installation, click on the router app link at the top of the page to configure the app with your Newt credentials from Pangolin. Once you have entered the credentials, save and start the app. The router will now be connected to your Pangolin site and you can manage it like any other Newt site in the dashboard.
Advantech router UI showing Newt credential configuration

Screenshot of configuring the router app on an Advantech router UI

A complete config file is located at /etc/newt/settings on the router. You can edit this file directly to change credentials or add additional configuration options. After making changes, restart the router app to apply the new configuration. An example settings file can be found at: https://github.com/fosrl/newt/blob/main/packages/advantech/merge/etc/defaults