> The host address to bind to. Example: `"127.0.0.1"`
- **port** (`port`, default: `3000`)
> The port to listen on.
- **cookie_secret** (`null or string`, default: `null`)
> The secret used to encode and decode web sessions. Ensure that this is exactly 32 characters long. Can be either a direct string or a path to a file containing the secret. Example: `config.sops.secrets.headplane.path`
- **cookie_secret_path** (`null or path`, default: `null`)
> Path to a file containing the cookie secret. The secret must be exactly 32 characters long. Can be used instead of cookie_secret. Example: `config.sops.secrets.headplane_cookie.path`
- **cookie_secure** (`bool`, default: `true`)
> Should the cookies only work over HTTPS? Set to false if running via HTTP without a proxy. Recommended to be true in production.
- **agent** (submodule)
> Agent configuration for the Headplane agent.
- **authkey** (`null or string`, default: `null`)
> The auth key used to authenticate the agent with Headplane. Can be either a direct string or a path to a file containing the key. Example: `config.sops.secrets.agent_authkey.path`
- **authkey_path** (`null or path`, default: `null`)
> Path to a file containing the agent auth key. Can be used instead of authkey. Example: `config.sops.secrets.agent_authkey.path`
- **ttl** (`int`, default: `180000`)
> How long to cache agent information (in milliseconds).
> The URL to your Headscale instance. All API requests are routed through this URL. THIS IS NOT the gRPC endpoint, but the HTTP endpoint. IMPORTANT: If you are using TLS this MUST be set to `https://`. Example: `https://headscale.example.com`
- **tls_cert** (`null or string`, default: `null`)
> TLS certificate for HTTPS connections. Can be either a direct string or a path to a file containing the certificate. Example: `config.sops.secrets.tls_cert.path`
- **tls_cert_path** (`null or path`, default: `null`)
> Path to a file containing the TLS certificate. Can be used instead of tls_cert. Example: `config.sops.secrets.tls_cert.path`
- **tls_key** (`null or string`, default: `null`)
> TLS private key for HTTPS connections. Can be either a direct string or a path to a file containing the key. Example: `config.sops.secrets.tls_key.path`
- **tls_key_path** (`null or path`, default: `null`)
> Path to a file containing the TLS private key. Can be used instead of tls_key. Example: `config.sops.secrets.tls_key.path`
- **config_path** (`null or path`, default: `null`)
> Path to the Headscale configuration file. This is optional, but HIGHLY recommended for the best experience. If this is read only, Headplane will show your configuration settings in the Web UI, but they cannot be changed. Example: `/etc/headscale/config.yaml`
- **config_strict** (`bool`, default: `true`)
> Headplane internally validates the Headscale configuration to ensure that it changes the configuration in a safe way. If you want to disable this validation, set this to false.
#### settings.integration
- **proc** (submodule)
> Native process integration settings.
- **enabled** (`bool`, default: `false`)
> Enable "Native" integration that works when Headscale and Headplane are running outside of a container. There is no additional configuration, but you need to ensure that the Headplane process can terminate the Headscale process.
#### settings.oidc
- **issuer** (`string`, default: `""`)
> URL to OpenID issuer. Example: `https://authentik.parawell.cloud/application/o/test-headscale/`
- **client_id** (`string`, default: `""`)
> The client ID for the OIDC client. Example: `your-client-id`
- **client_secret** (`null or string`, default: `null`)
> The client secret for the OIDC client. Example: `config.sops.secrets.oidc_secret.path`
- **client_secret_path** (`null or path`, default: `null`)
> Path to a file containing the OIDC client secret. Can be used instead of client_secret. Example: `config.sops.secrets.oidc_client_secret.path`
- **headscale_api_key** (`null or string`, default: `null`)
> If you are using OIDC, you need to generate an API key that can be used to authenticate other sessions when signing in. This can be done with `headscale apikeys create --expiration 999d`. Example: `config.sops.secrets.headscale_api_key.path`
- **headscale_api_key_path** (`null or path`, default: `null`)
> Path to a file containing the Headscale API key. Can be used instead of headscale_api_key. Example: `config.sops.secrets.headscale_api_key.path`
- **redirect_uri** (`string`)
> This should point to your publicly accessible URL for your Headplane instance with /admin/oidc/callback. Example: `https://headscale.example.com/admin/oidc/callback`