5.2 KiB
Pangolin Deployment Guide
This guide walks you through deploying and configuring Pangolin using the DigitalOcean Marketplace 1-Click App.
Deployment Steps
1. Create a Droplet from the Marketplace
- 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".
2. DNS Configuration
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).
3. Initial Setup
-
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.
4. Dashboard Setup
- 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
5. Connecting Remote Sites
Pangolin allows you to connect remote sites using either the Newt client or standard WireGuard.
Using Newt (Recommended)
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
Using WireGuard
-
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
6. Exposing Resources
-
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.
7. Security Considerations
- 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.
8. Maintenance and Updates
To update Pangolin in the future:
-
SSH into your Droplet:
ssh root@your_droplet_ip
-
Update the installer:
cd /opt/pangolin wget -O installer "https://github.com/fosrl/pangolin/releases/download/latest/installer_linux_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" chmod +x ./installer
-
Run the installer:
./installer -y
Troubleshooting
Cannot Access Dashboard
- 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
Connection Issues from Remote Sites
-
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
ping
ortraceroute
.
Need Help?
- Documentation: https://docs.fossorial.io
- Discord Community: https://discord.gg/HCJR8Xhme4
- GitHub Issues: https://github.com/fosrl/pangolin/issues
- Email Support: numbat@fossorial.io