Format; add gerbil config notes

This commit is contained in:
Owen Schwartz 2025-01-03 20:37:04 -05:00
parent 55cc04921e
commit b38b4fb0b4
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD

View file

@ -5,6 +5,7 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
## Sections ## Sections
### app ### app
- `base_url`: string - `base_url`: string
- Example: `https://example.com` or `https://proxy.example.com` - Example: `https://example.com` or `https://proxy.example.com`
- The url where the application is hosted. This is used for many things, including generating links, and determing the root domain for cookies, etc. - The url where the application is hosted. This is used for many things, including generating links, and determing the root domain for cookies, etc.
@ -19,6 +20,7 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
- Max files: 7 days - Max files: 7 days
### server ### server
- `external_port`: int - `external_port`: int
- The port the external facing (public) API will listen on. - The port the external facing (public) API will listen on.
- `internal_port`: int - `internal_port`: int
@ -41,6 +43,7 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
- Cookies will be set for the base domain of the `base_url` config. - Cookies will be set for the base domain of the `base_url` config.
### traefik ### traefik
- `cert_resolver`: string - `cert_resolver`: string
- Example: `letsencrypt` - Example: `letsencrypt`
- The name of the Traefik certificate resolver. This must match the name of the resolver in the Traefik configuration. - The name of the Traefik certificate resolver. This must match the name of the resolver in the Traefik configuration.
@ -55,8 +58,19 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
- Before setting this to `true`, please see the docs for setting up wildcard certificates with Let's Encrypt, <a href="/Pangolin/wildcard-certs">here</a>. - Before setting this to `true`, please see the docs for setting up wildcard certificates with Let's Encrypt, <a href="/Pangolin/wildcard-certs">here</a>.
### gerbil ### gerbil
- `start_port`: int
- This is the starting port for Wireguard tunnels that new Gerbil exit nodes will use and increment as they register with Pangolin. Advised to choose a base of a range with no conflicts.
- `base_endpoint`: string
- This is the domain name automatically included in Newt and Wireguard config for tunnel connections.
- `use_subdomain`: boolean
- If set to true, new Gerbil exit nodes will be assigned a unique subdomain off of the base domain. Advised to keep this to false.
- `subnet_group`: string
- IP address CIDR from which to choose smaller CIDR ranges for new Gerbil exit node registrations. Each "Gerbil" gets a subnet from this range.
- `block_size`: int
- The block size of the smaller CIDR ranges for new Gerbil exit node registrations.
### rate_limits ### rate_limits
- `global`: object - `global`: object
- The global rate limit configuration for all requests to the external Pangolin API. - The global rate limit configuration for all requests to the external Pangolin API.
- `window_minutes`: int - `window_minutes`: int
@ -67,6 +81,7 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
- The maximum number of requests allowed in the window. - The maximum number of requests allowed in the window.
### email (optional) ### email (optional)
- `smtp_host`: string - `smtp_host`: string
- The SMTP host for sending emails. - The SMTP host for sending emails.
- `smtp_port`: int - `smtp_port`: int
@ -80,6 +95,7 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
- The address to send emails from. This can be any email address, but it is recommended to use a no-reply address. - The address to send emails from. This can be any email address, but it is recommended to use a no-reply address.
### users ### users
- `server_admin`: object - `server_admin`: object
- The server admin who can always create new organizations. This user will always be created on startup. - The server admin who can always create new organizations. This user will always be created on startup.
- `email`: string - `email`: string
@ -95,6 +111,7 @@ Pangolin is configured using a `config.yml` file. The file is expected to be mou
- At least one special character - At least one special character
### flags ### flags
- `require_email_verification`: boolean - `require_email_verification`: boolean
- Whether to require email verification for new users. If set to `true`, new users will need to verify their email address before they can log in. - Whether to require email verification for new users. If set to `true`, new users will need to verify their email address before they can log in.
- Only turn this on if you have email configured. - Only turn this on if you have email configured.
@ -134,8 +151,8 @@ gerbil:
start_port: 51820 start_port: 51820
base_endpoint: example.com base_endpoint: example.com
use_subdomain: false use_subdomain: false
block_size: 16
subnet_group: 10.0.0.0/8 subnet_group: 10.0.0.0/8
block_size: 16
rate_limits: rate_limits:
global: global: