mirror of
https://github.com/fosrl/docs-v2.git
synced 2026-02-07 21:46:42 +00:00
170 lines
4.4 KiB
Plaintext
170 lines
4.4 KiB
Plaintext
---
|
|
title: "Install Sites"
|
|
description: "Install Newt as a binary or Docker container"
|
|
---
|
|
|
|
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
|
|
|
|
### Quick Install (Recommended)
|
|
|
|
Use this command to automatically install Newt. It detects your system architecture automatically and always pulls the latest version, adding Newt to your PATH:
|
|
|
|
```bash
|
|
curl -fsSL https://static.pangolin.net/get-newt.sh | bash
|
|
```
|
|
|
|
### Manual Download
|
|
|
|
Binaries for Linux, macOS, and Windows are available in the [GitHub releases](https://github.com/fosrl/newt/releases) for ARM and AMD64 (x86_64) architectures.
|
|
|
|
Download and install manually:
|
|
|
|
```bash
|
|
wget -O newt "https://github.com/fosrl/newt/releases/download/{version}/newt_{architecture}" && chmod +x ./newt
|
|
```
|
|
|
|
<Note>
|
|
Replace `{version}` with the desired version and `{architecture}` with your architecture. Check the [release notes](https://github.com/fosrl/newt/releases) for the latest information.
|
|
</Note>
|
|
|
|
### Running Newt
|
|
|
|
Run Newt with the configuration from Pangolin:
|
|
|
|
```bash
|
|
newt \
|
|
--id 31frd0uzbjvp721 \
|
|
--secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
|
|
--endpoint https://example.com
|
|
```
|
|
<Note>
|
|
The quick installer will do this step for you.
|
|
</Note>
|
|
|
|
### Systemd Service
|
|
|
|
Create a basic systemd service:
|
|
|
|
```ini title="/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
|
|
```
|
|
|
|
<Warning>
|
|
Make sure to move the binary to `/usr/local/bin/newt` before creating the service!
|
|
</Warning>
|
|
|
|
## Docker Installation
|
|
|
|
### Pull the Image
|
|
|
|
Pull the latest Newt image from Docker Hub:
|
|
|
|
```bash
|
|
docker pull fosrl/newt:latest
|
|
```
|
|
|
|
### Run with Docker
|
|
|
|
Run Newt with CLI arguments from Pangolin:
|
|
|
|
```bash
|
|
docker run -it fosrl/newt --id 31frd0uzbjvp721 \
|
|
--secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
|
|
--endpoint https://example.com
|
|
```
|
|
|
|
### Docker Compose
|
|
|
|
#### Environment Variables (Recommended)
|
|
|
|
```yaml title="docker-compose.yml"
|
|
services:
|
|
newt:
|
|
image: fosrl/newt
|
|
container_name: newt
|
|
restart: unless-stopped
|
|
environment:
|
|
- PANGOLIN_ENDPOINT=https://app.pangolin.net
|
|
- NEWT_ID=2ix2t8xk22ubpfy
|
|
- NEWT_SECRET=nnisrfsdfc7prqsp9ewo1dvtvci50j5uiqotez00dgap0ii2
|
|
```
|
|
|
|
#### Config File Injected as Compose Secret
|
|
|
|
A safer but slightly more complex way is to use [Compose Secrets](https://docs.docker.com/compose/how-tos/use-secrets/). First, create a `JSON` file containing your configuration:
|
|
|
|
```json title="newt-config.secret"
|
|
{
|
|
"id": "2ix2t8xk22ubpfy",
|
|
"secret": "nnisrfsdfc7prqsp9ewo1dvtvci50j5uiqotez00dgap0ii2",
|
|
"endpoint": "https://example.com",
|
|
"tlsClientCert": ""
|
|
}
|
|
```
|
|
|
|
Then register and reference the secret in your `docker-compose.yml`:
|
|
|
|
```yaml title="docker-compose.yml"
|
|
services:
|
|
newt:
|
|
image: fosrl/newt
|
|
container_name: newt
|
|
restart: unless-stopped
|
|
environment:
|
|
- CONFIG_FILE=/run/secrets/newt-config
|
|
secrets:
|
|
- newt-config
|
|
|
|
secrets:
|
|
newt-config:
|
|
file: ./newt-config.secret
|
|
```
|
|
|
|
This allows you to separate sensitive secrets from plain configuration, improving security when storing or sharing your `docker-compose.yml` anywhere else.
|
|
|
|
#### CLI Arguments
|
|
|
|
```yaml title="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:
|
|
|
|
```bash
|
|
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.
|
|
|
|
<Frame caption="Newt available in Unraid Community Applications store">
|
|
<img src="/images/unraid_store.png" alt="Newt on CA" />
|
|
</Frame>
|
|
|
|
### 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.
|