Who is this for?
Use this guide if you have a self-hosted Pangolin instance and want to convert it to a managed deployment. It’s pretty easy!What will happen to my data?
Always backup your data before updating. Copy your
config
directory to a safe location so you can roll back if needed.Migration
1
Sign up
Create an account on Pangolin Cloud if you don’t have one already.
2
Generate credentials
In the Pangolin Cloud dashboard, navigate to the “Self-hosted” section and generate a new ID and secret for this node. Make sure to copy this config, as you’ll need it later.
3
Prepare your instance
On your self-hosted Pangolin server:
- Stop the Pangolin service:
- Ensure you have a backup of your
config
directory. - Make sure your instance is up to date with the latest versions of Pangolin, Gerbil, and Traefik.
4
Paste in the credentials
Edit your You can leave the rest of your config the same.
config/config.yml
and paste the generated ID and secret managed config at the bottom of the file:5
Update your docker-compose
We need to update your Second, add a volume to sync the certs and file based Traefik config between Pangolin and Traefik. At the bottom of the file:Then in Traefik:And in Pangolin
docker-compose.yml
file to use the new managed configuration. Its a good idea to backup the old one.First change the gerbil port 443:443
to 443:8443
. This will send traffic to the Gerbil SNI proxy server before hitting Traefik downstream.6
Add ping to Traefik
Edit your
config/traefik/traefik_config.yml
file to add a ping endpoint for health checks. Add this to the bottom of the file:7
Bring up the stack
Start the updated stack with Docker Compose:
8
Configure your account
Pangolin is now controlled through the Pangolin Cloud dashboard. Make sure to bring your domain and recreate your sites and resources.In the future, we plan to allow importing config!
If you move your whole domain away from your VPS to Pangolin Cloud, make sure to update your
base_endpoint
under the gerbil:
section of your config.yml
to be the IP address of your instance otherwise we cant resolve your instance in DNS.