Prerequisites
Checkout the quick install guide for more info regarding what is needed before you install Pangolin.File Structure
Create the following directory structure for your Pangolin deployment:Files marked with
(*)
must be created manually. Volumes and other files are generated automatically by the services.Configuration Files
Configuration Files
config/config.yml
: Main Pangolin configuration file- Contains all Pangolin settings and options
- See Configuration Guide for details
config/traefik/traefik_config.yml
: Traefik static configuration- Global Traefik settings and entry points
- SSL certificate resolver configuration
config/traefik/dynamic_config.yml
: Traefik dynamic configuration- HTTP routers and services for Pangolin
- Load balancer and middleware configuration
Generated Files
Generated Files
config/db/db.sqlite
: SQLite database file- Created automatically on first startup
- Contains all Pangolin data and settings
config/key
: Private key file- Generated by Gerbil service
- Used for WireGuard tunnel encryption
config/letsencrypt/acme.json
: SSL certificate storage- Managed by Traefik
- Contains Let’s Encrypt certificates
Docker Files
Docker Files
docker-compose.yml
: Service definitions- Defines Pangolin, Gerbil, and Traefik services
- Network configuration and volume mounts
- Health checks and dependencies
1
Create configuration directory
2
Create configuration files
Create the main configuration files (see below):
docker-compose.yml
(in project root)config/traefik/traefik_config.yml
config/traefik/dynamic_config.yml
config/config.yml
3
Update domain and email
Edit the configuration files to replace:
pangolin.example.com
with your actual domainadmin@example.com
with your email address
Ensure your domain DNS is properly configured to point to your server’s IP address.
Starting the Stack
1
Start the services
2
Monitor startup
3
Verify services
4
Access the dashboard
Navigate to
https://your-domain.com/auth/initial-setup
to complete the initial setup.The dashboard should load with SSL certificate automatically configured.
Docker Compose Configuration
Createdocker-compose.yml
in your project root:
docker-compose.yml
Traefik Static Configuration
Createconfig/traefik/traefik_config.yml
:
config/traefik/traefik_config.yml
Traefik Dynamic Configuration
Createconfig/traefik/dynamic_config.yml
:
config/traefik/dynamic_config.yml
Pangolin Configuration
Createconfig/config.yml
with your Pangolin settings. See the configuration guide for detailed options and examples.