This guide walks you through deploying and configuring Pangolin using the DigitalOcean Marketplace 1-Click App.
- Log in to your DigitalOcean account.
- Navigate to the Marketplace and search for "Pangolin".
- Click on the Pangolin 1-Click App.
- Configure your Droplet:
- Choose a plan (recommended: at least 1GB RAM, but it can also be deployed on DigitalOcean's smallest droplet size: $4 s-1vcpu-512mb-10gb)
- Select a datacenter region
- Add SSH keys for authentication
- Choose a hostname (e.g., pangolin-server)
- Click "Create Droplet".
Before proceeding with setup, you need to configure your domain to point to your new Droplet:
- Obtain your Droplet's IP address from the DigitalOcean control panel.
- Go to your domain registrar or DNS provider.
- Create an A record that points your domain or subdomain to your Droplet's IP address.
Type: A Name: pangolin (or @ for root domain) Value: your_droplet_ip TTL: 3600 (or as low as possible for faster propagation) - Wait for DNS propagation (can take 5 minutes to several hours).
-
Once your Droplet is created, connect to it via SSH:
ssh root@your_droplet_ip
-
The first-login setup script will run automatically, guiding you through the initial configuration:
- Enter your domain name
- Provide your email for SSL certificates
- The script will run the Pangolin installer
-
After the installer completes, you'll be able to access the Pangolin dashboard.
- Open a web browser and navigate to
https://your-domain.com. - Follow the on-screen instructions to:
- Create an admin account
- Set up your organization
- Configure your first site
Pangolin allows you to connect remote sites using either the Newt client or standard WireGuard.
On your remote site (e.g., home server, private network):
-
Install Newt:
curl -L https://github.com/fosrl/newt/releases/download/latest/install.sh | sudo bash -
In the Pangolin dashboard:
- Go to Sites > Add Site
- Follow the instructions to generate a configuration
- Copy the provided configuration
-
On your remote site, create a configuration file:
sudo nano /etc/newt/config.yaml
Paste the configuration from the dashboard.
-
Start Newt:
sudo newt start
-
In the Pangolin dashboard:
- Go to Sites > Add Site
- Select WireGuard configuration
- Download the configuration file
-
On your remote site, install WireGuard:
# For Ubuntu/Debian sudo apt install wireguard # For CentOS/RHEL sudo yum install wireguard-tools
-
Copy the configuration file to
/etc/wireguard/wg0.conf. -
Start the WireGuard interface:
sudo wg-quick up wg0
-
In the Pangolin dashboard, go to Resources > Add Resource.
-
Configure your resource:
- Name: A descriptive name
- Type: HTTP/HTTPS, TCP, or UDP
- Target: The IP and port of the service on your private site
- Domain: The domain or subdomain to access the resource
- Access Control: Set authentication and permission rules
-
Save the resource configuration.
-
Your private resource is now securely accessible through Pangolin.
- The Pangolin Droplet comes with UFW firewall pre-configured to allow only necessary ports.
- Set up 2FA for your admin account in the Pangolin dashboard.
- Consider setting up CrowdSec for additional protection against brute force attacks.
- Regularly update your Pangolin installation with the latest security patches.
To update Pangolin in the future:
-
SSH into your Droplet:
ssh root@your_droplet_ip
-
Update the installer:
cd /opt/pangolin curl -fsSL https://pangolin.net/get-installer.sh | bash chmod +x ./installer
-
Run the installer:
sudo ./installer
- Verify DNS configuration with
dig your-domain.com. - Check that your domain points to your Droplet's IP address.
- Ensure SSL certificates were issued correctly:
cd /opt/pangolin docker compose logs traefik
-
Verify the WireGuard/Newt tunnel is active:
# For WireGuard sudo wg show # For Newt sudo newt status
-
Check firewall settings on both the Pangolin server and remote site.
-
Verify network connectivity with
pingortraceroute.
- Documentation: https://docs.fossorial.io
- Discord Community: https://discord.gg/HCJR8Xhme4
- GitHub Issues: https://github.com/fosrl/pangolin/issues
- Email Support: numbat@fossorial.io