System Settings
System Settings controls server-wide behavior. Service settings control one service.
Domains
Section titled “Domains”Control plane hostname serves the Forge dashboard through Caddy.
Root domain enables generated service hostnames and generated database public hostnames.
Both can be set during onboarding or later from System Settings.
DNS provider settings store credentials for Cloudflare, Namecheap, and Spaceship. Connected providers appear as actions on service custom domains.
Provider automation writes IPv4 A records only.
GitHub
Section titled “GitHub”GitHub settings support either:
- GitHub App credentials.
- Host-level
GITHUB_ACCESS_TOKEN.
The GitHub App path enables repository discovery and push webhooks.
AI Providers
Section titled “AI Providers”Forge supports multiple AI providers for deployment failure explanation: OpenAI, Anthropic, Google, Mistral, Groq, DeepSeek, xAI, and Forge AI Bridge. Set a default provider and model, or let Forge fall back to the first connected provider.
Storage
Section titled “Storage”R2 settings store Cloudflare account ID, bucket, endpoint, access key suffix, encrypted secret access key, and timestamps.
R2 must be connected before database services can select r2 or disk+r2 backup destinations.
Email settings control the integrated email platform. See Email Overview for the full guide.
| Setting | Default | Description |
|---|---|---|
FORGE_EMAIL_ENABLED | false | Master toggle for all email features |
FORGE_EMAIL_DEFAULT_SMTP_HOST | 127.0.0.1 | Default SMTP host for new sender identities. Use the mail hostname for strict STARTTLS. |
FORGE_EMAIL_DEFAULT_SMTP_PORT | 587 | Default SMTP submission port |
FORGE_EMAIL_DEFAULT_SMTP_SECURE | false | false for STARTTLS on 587, true for implicit TLS on 465 |
FORGE_EMAIL_SMTP_REQUIRE_TLS | false | When true, new sender identities require STARTTLS on non-implicit TLS SMTP connections |
FORGE_EMAIL_LOG_RETENTION_DAYS | 90 | Auto-delete email logs after N days |
FORGE_EMAIL_MAX_BODY_BYTES | 262144 | Max email body size (256 KB) |
FORGE_EMAIL_MAX_RECIPIENTS | 50 | Max recipients per transactional send |
Same-VPS MTA operator values:
| Setting | Default | Description |
|---|---|---|
FORGE_EMAIL_MTA_HOSTNAME | empty | Postfix/OpenSMTPD hostname and reverse DNS target |
FORGE_EMAIL_MTA_DOMAIN | empty | Forge-owned default sender domain |
FORGE_EMAIL_DKIM_SELECTOR | forge1 | MTA-level OpenDKIM selector for the Forge-owned default domain |
FORGE_EMAIL_MTA_MAP_HOSTS | true | Adds the mail hostname to /etc/hosts for same-host SMTP |
FORGE_EMAIL_MTA_TRUSTED_NETWORKS | auto-detect | Optional Postfix mynetworks override. Leave unset normally; the installer trusts loopback plus the VPS host’s own non-Docker IPs. |
FORGE_EMAIL_MTA_OUTBOUND_TLS_SECURITY_LEVEL | may | Postfix outbound TLS policy. Use none for Starlight Mail Bridge. |
FORGE_EMAIL_MTA_TLS_CERT_FILE | empty | Postfix-readable STARTTLS certificate path |
FORGE_EMAIL_MTA_TLS_KEY_FILE | empty | Postfix-readable STARTTLS private key path |
Future email phases add automation, broadcasting, and inbound forwarding flags when those features are enabled.
Migration
Section titled “Migration”Migration settings export encrypted .forge bundles (legacy format). The export requires a passphrase with at least 8 characters.
Bundle import is available during onboarding.
Maintenance
Section titled “Maintenance”Maintenance settings show disk, Docker, Forge data paths, build artifacts, database backup storage, APT cache, system logs, cleanup actions, and recent history.
Safe cleanup avoids Docker volumes. Volume cleanup is separate and destructive for detached volumes.
Deployments
Section titled “Deployments”Concurrent deployments controls the global number of deployment jobs that can run at once.
Allowed values:
1 through 10Default:
3Forge also enforces one active deployment per service.
Updates
Section titled “Updates”Updates settings compare the running install against the configured repository and branch.
Git installs can fast-forward, install dependencies, build, prune, and queue a restart.
Image installs can compare commit metadata and run an image update command when configured.