The config.yml file controls all aspects of your Pangolin deployment, including server settings, domain configuration, email setup, and security options. This file is mounted at config/config.yml in your Docker container.

Setting up your config.yml

To get started, create a basic configuration file with the essential settings: Minimal Pangolin configuration:
config.yml
app:
  dashboard_url: "http://pangolin.example.com"

domains:
  domain1:
    base_domain: "pangolin.example.com"
    cert_resolver: "letsencrypt"

server:
  secret: "your-strong-secret"

gerbil:
  base_endpoint: "pangolin.example.com"

flags:
  require_email_verification: false
  disable_signup_without_invite: true
  disable_user_create_org: true
Generate a strong secret for server.secret. Use at least 32 characters with a mix of letters, numbers, and special characters.

Reference

This section contains the complete reference for all configuration options in config.yml.

Application Settings

app
object
required
Core application configuration including dashboard URL, logging, and general settings.

Server Configuration

server
object
required
Server ports, networking, and authentication settings.

Domain Configuration

domains
object
required
Domain settings for SSL certificates and routing.At least one domain must be configured.

Traefik Integration

traefik
object
Traefik reverse proxy configuration settings.

Gerbil Tunnel Controller

gerbil
object
required
Gerbil tunnel controller settings for WireGuard tunneling.

Rate Limiting

rate_limits
object
Rate limiting configuration for API requests.

Email Configuration

email
object
SMTP settings for sending transactional emails.

Feature Flags

flags
object
Feature flags to control application behavior.

Database Configuration

postgres
object
PostgreSQL database configuration (optional).

Environment Variables

Some configuration values can be set using environment variables for enhanced security:

Server Secret

Variable: SERVER_SECRETConfig: server.secretUse this to avoid hardcoding secrets in your config file.

Email Password

Variable: EMAIL_SMTP_PASSConfig: email.smtp_passKeep SMTP passwords secure using environment variables.