--- title: "Convert to Managed" description: "Learn how to convert your Community Edition Pangolin instance to a managed self-hosted node for free" --- Check out the [Managed Deployment Guide](/self-host/quick-install-managed) for more information on deploying a managed instance of Pangolin. ## 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. Your existing Pangolin data will stay in the database, so feel free to try managed deployment without losing anything. If you want to go back, just reverse these steps. ## Migration Create an account on [Pangolin Cloud](https://pangolin.fossorial.io/auth/signup) if you don't have one already. 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. On your self-hosted Pangolin server: 1. Stop the Pangolin service: ```bash docker-compose down ``` 2. Ensure you have a backup of your `config` directory. 3. Make sure your instance is [up to date](./how-to-update) with the latest versions of Pangolin, Gerbil, and Traefik. Exit your `config/config.yml` and paste the generated ID and secret managed config at the bottom of the file: ```yaml managed: id: secret: ``` You can leave the rest of your config the same. We need to update your `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. ``` gerbil: ports: - "443:8443" # <----- It should look like this now ``` Second, add a volume to sync the certs and file based Traefik config between Pangolin and Traefik. At the bottom of the file: ```yaml volumes: pangolin-data: ``` Then in Traefik: ```yaml traefik: volumes: - ./config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration - ./config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates - ./config/traefik/logs:/var/log/traefik # Volume to store Traefik logs # Shared volume for certificates and dynamic config in file mode - pangolin-data:/var/certificates:ro - pangolin-data:/var/dynamic:ro ``` And in Pangolin ```yaml pangolin: volumes: - ./config:/app/config - pangolin-data:/var/certificates - pangolin-data:/var/dynamic ``` Edit your `config/traefik/traefik_config.yml` file to add a ping endpoint for health checks. Add this to the bottom of the file: ```yaml ping: entryPoint: "web" ``` Start the updated stack with Docker Compose: ```bash docker-compose up -d ``` Pangolin is now controlled through the [Pangolin Cloud](https://pangolin.fossorial.io/auth/signup) dashboard. Make sure to bring your domain and recreate your sites and resources. 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. In the future, we plan to allow importing config!