Newt can be installed as either a static binary executable or a Docker container. Configuration is passed via CLI arguments in both cases.
You must first create a site and copy the Newt config in Pangolin before running Newt.

Binary Installation

  • Static executable
  • Cross-platform support
  • Easy to install and run
  • Systemd service support

Docker Installation

  • Containerized deployment
  • Environment variables
  • Docker Compose support
  • Easy management

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:
curl -fsSL https://digpangolin.com/get-newt.sh | bash

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:
wget -O newt "https://github.com/fosrl/newt/releases/download/{version}/newt_{architecture}" && chmod +x ./newt
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:
newt \
--id 31frd0uzbjvp721 \
--secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
--endpoint https://example.com

Permanent Installation

Install to your PATH (may need to run as root):
mv ./newt /usr/local/bin
The quick installer will do this step for you.

Systemd Service

Create a basic systemd service:
/etc/systemd/system/newt.service
[Unit]
Description=Newt
After=network.target

[Service]
ExecStart=/usr/local/bin/newt --id 31frd0uzbjvp721 --secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 --endpoint https://example.com
Restart=always
User=root

[Install]
WantedBy=multi-user.target
Make sure to move the binary to /usr/local/bin/newt before creating the service!

Docker Installation

Pull the Image

Pull the latest Newt image from Docker Hub:
docker pull fosrl/newt:latest

Run with Docker

Run Newt with CLI arguments from Pangolin:
docker run -it fosrl/newt --id 31frd0uzbjvp721 \
--secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
--endpoint https://example.com

Docker Compose

docker-compose.yml
services:
  newt:
    image: fosrl/newt
    container_name: newt
    restart: unless-stopped
    environment:
      - PANGOLIN_ENDPOINT=https://example.com
      - NEWT_ID=2ix2t8xk22ubpfy
      - NEWT_SECRET=nnisrfsdfc7prqsp9ewo1dvtvci50j5uiqotez00dgap0ii2

CLI Arguments

docker-compose.yml
services:
  newt:
    image: fosrl/newt
    container_name: newt
    restart: unless-stopped
    command:
      - --id 31frd0uzbjvp721
      - --secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6
      - --endpoint https://example.com
Start the service:
docker compose up -d

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.