Skip to main content
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: "https://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.It is best to add it in the UI for ease of use or when you want the domain to only be present in the org it was created in.You should create it in the config file for permanence across installs and if you want the domain to be present in all orgs.

Traefik Integration

traefik
object
Traefik reverse proxy configuration settings.

Gerbil Tunnel Controller

gerbil
object
required
Gerbil tunnel controller settings for WireGuard tunneling.

Organization Settings

orgs
object
Organization network configuration settings.

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).

DNS Configuration

dns
object
DNS settings for domain name resolution and CNAME extensions.

Environment Variables

Some configuration values can be set using environment variables for enhanced security:
NameVariableConfig
Server SecretSERVER_SECRETserver.secret
Email PasswordEMAIL_SMTP_PASSemail.smtp_pass
PostgreSQL Connection StringPOSTGRES_CONNECTION_STRINGpostgres.connection_string