Skip to content

Admin guideReference

Settings reference

All 97 install-wide settings by API name, grouped by the admin page that renders them.

View as Markdown

Every install-wide setting, by the name the API uses, grouped by the page that renders it. There are 97. Settings for one app are on that app’s own pages and are not listed here.

Stored in The database. Changed at runtime, no restart.
Audited Every change.
Find one fast ⌘K with the words in any order (idle sleep) jumps to the control.
Conflicting saves A save from a page loaded before someone else’s save is refused with settings_changed. Reload and save again.

For what comes from the environment, see the environment reference. The seven settings that also have an environment variable underneath are the operating dials.

Setting Label What it does Range
public_base_url Address Where links in email point. Leave blank to use the address the install started with. —
security_txt_contact Security contact Where to report a security problem. Filling this in publishes /.well-known/security.txt. —
security_txt_expires Good until When the published contact expires. Required when there is a contact. —
security_txt_policy Disclosure policy An https:// page on how you want problems reported. Optional. —
security_txt_languages Preferred languages Languages a report can be written in, separated by commas. Optional. —
app_security_headers Baseline headers on apps Adds nosniff and a referrer policy to an app’s pages where the app sends neither. On by default. An app’s own header is kept, and HTTPS-only (HSTS) is sent over https whatever this says. —
isolated_execution_enabled Isolated execution Lets an app run as its own workload, with its own network and resource limits. —
default_execution_mode New apps are born The mode a new app starts in when its creator doesn’t choose. —
background_jobs_enabled Background jobs Lets apps run scheduled and on-demand work as a process of its own. —
app_memory_limit_mb Memory limit per app Memory one app may use before it is restarted, in MB or GB. 0 uses the install default. 64–1,048,576 MB, or 0
app_cpu_request_millicores CPU reserved per app CPU each isolated app reserves, in millicores. 0 uses the install default. 1–64,000 m, or 0
app_cpu_limit_millicores CPU ceiling per app The most CPU one isolated app may use, in millicores. 0 uses the install default. 1–64,000 m, or 0
max_concurrent_builds Builds at once How many deploys may build at the same time. 0 uses the install default. 1–64 builds, or 0
auto_deploy_poll_seconds Auto-deploy check interval How often tracked branches are checked for new commits. 0 uses the install default. 10–86,400 seconds, or 0
r_package_repository R package repository Where R builds install packages from. Leave blank to use the install default. —
log_level Platform log level How much the platform logs about itself. —
app_log_copy_uncapped Copy every line of app output Lifts the 100-lines-a-second cap on each shared app’s output reaching the platform’s log. Off by default. When on, one app’s volume can slow every app’s requests. —
notebook_render_timeout_seconds Let a notebook render for How long a notebook may take to render during a deploy. Past this, the deploy fails. 60–3,600 seconds
build_timeout_seconds Let a build command run for How long one build step may take. Past this, the deploy fails. 60–3,600 seconds
idle_sleep_minutes Sleep idle apps after Minutes without a request before a shared app is stopped to free memory. 0 turns this off. 5–10,080 minutes, or 0
job_concurrency_per_app Concurrent runs per app How many of one app’s runs may be in flight at once. 1–100
max_queued_runs_per_app Runs waiting per app How many of one app’s runs may wait. A start past this is refused until one finishes. 1–10,000 runs
default_job_timeout_seconds Stop a job after The timeout for a job whose toft.toml declares none. 60–604,800 seconds
max_job_timeout_seconds Longest a job may run The ceiling on any job’s timeout. 60–604,800 seconds
max_job_memory_mb Most memory a job may have The ceiling on any job’s memory. 128–262,144 MB
gallery_deploy_mode Gallery What the gallery offers: nothing, extensions only, or extensions and examples. —
job_log_retention_days Keep job logs for A background job’s log lines. 1–365 days
job_run_retention_days Keep job runs for Job runs and their output files. 1–3,650 days
app_event_retention_days Keep failure events for Failures nobody caused: failed builds, failed health checks, runs that couldn’t start. 7–3,650 days
platform_log_retention_days Keep the platform’s own log for What Toft logged about each app: fetches, starts, repairs and refusals. 7–3,650 days
announcement_recipient_retention_days Keep announcement recipients for Who each announcement was mailed to, and what happened to each send. 30–3,650 days
access_record_retention_days Keep the access record for The audit trail and who opened each app. 0 keeps everything, and is the default. 365–3,650 days, or 0
max_versions_per_app Most deployments an app may keep The most successful deployments one app keeps, the serving one included. Failed builds don’t count. 0 means no limit. 2–100 deployments, or 0
environment_tag Environment name This install’s environment, such as stage or prod. Leave blank to turn this off. —
Setting Label What it does Range
dormant_lock_enabled Lock unused accounts Locks an account nobody has used for the period below. Administrators are never locked. —
dormant_lock_days Lock after How long an account may go unused before it is locked. At least 30 days. 30–730 days
session_absolute_hours Sign in again after How long a session lasts from sign-in, however much it is used. 1–24 hours
session_idle_minutes End an unused session after How long an unused session lasts. 0 turns this off. 5–480 minutes, or 0
public_apps_enabled Apps open to anyone Whether an app may be opened by someone who isn’t signed in. —
apps_listable_to_authenticated Everyone signed in can see every app Every app appears in everyone’s list by name and owner, without being openable. —
sign_in_providers Sign-in providers Your identity provider, who it lets in, and which social logins are offered. —
local_admin_enabled Built-in administrator A local username and password for setup, and for recovery when sign-in breaks. —
Setting Label What it does
api_keys_enabled Personal API keys Lets people hold long-lived keys so a script can act as them.
Setting Label What it does
dependency_policy Dependency policy Checks the packages each app installs against published advisories.
dependency_block_malware Refuse malicious packages Refuses a deploy that installs a known malicious package, whatever its score.
dependency_block_severity Refuse vulnerabilities at or above A deploy is refused when a vulnerability is at or above this severity.
dependency_block_only_fixable Only refuse when a fix has been published Refuses only findings with a published fix. The rest are recorded.
dependency_scan_on_deploy Resolve dependencies at deploy Records the package names and versions each build installs.
dependency_watch_enabled Re-check serving apps in the background Re-checks serving apps against new advisories and reports what it finds.
dependency_scan_interval_hours Re-check every How often serving apps are re-checked against the advisory data already here.
dependency_scan_history_kept Keep the last How many readings each app keeps. A count, not days.
dependency_lock_on Lock a serving app when it installs Takes a serving app offline by itself when a match is found. Off by default.
dependency_feed_endpoint Feed address Where advisory data comes from. Use an internal mirror if outbound access is closed.
dependency_feed_interval_hours Refresh every How often the advisory data is refreshed.
dependency_feed_max_age_hours Call it stale after Past this the data is marked stale. Stale data never blocks a deploy.
dependency_feed_credential Mirror credential For a mirror that needs one. Write-only.
dependency_waiver_max_days Waivers may run for The longest a waiver may last. There are no permanent waivers.
Setting Label What it does
source_policy Source policy Which repositories this install deploys from, and whether uploads may become apps.
source_uploads_enabled Archive uploads Whether a folder uploaded from a browser may become an app.
git_connections Connected git hosts Connect your git host once, so apps don’t each need their own token.
Setting Label What it does
announcement Announcement banner A line across the top of every page.
announcement_emails Announcements Email a message to the people on this install.
knowledge_base Knowledge base One app linked from the header on every page.
locked_account_message Locked account message What someone sees when their account is locked.
no_account_message No account message What someone sees when they sign in but no account can be created.
pending_activation_message Awaiting-activation message What someone sees while their account waits to be activated.
account_activated_message Account-activated message The email someone gets when you activate their account.
app_locked_message Locked app message What a visitor sees when an app is locked. Each app can override it.
Setting Label What it does
email_enabled Send email When off, no notification is sent and nothing fails.
email_transport Transport SMTP, or an HTTPS sending API where outbound port 587 is blocked.
email_api_provider Sending API provider Which sending API, when the transport is one.
email_host SMTP host The mail server this install hands messages to.
email_port SMTP port 587 for STARTTLS, 465 for implicit TLS.
email_security Transport security STARTTLS, implicit TLS, or none.
email_username SMTP username The account this install authenticates as. Blank for a relay that needs no credential.
email_password SMTP password Write-only. Leaving it blank keeps the stored password.
email_api_key Sending API key The sending service’s API key. Kept apart from the SMTP password.
email_skip_verify Accept a self-signed certificate For an internal relay whose certificate can’t be verified. A workaround, not a fix.
email_from_address From address Who mail from this install appears to be from.
email_from_name From name The display name beside the address.
email_reply_to Reply-to Where replies go, if not the from address.
email_notify_admin Administrator notifications Mail to system administrators about this install.
email_admin_group_address Administrator notification address Send administrator notifications to one list instead of each administrator.
email_notify_app App and access notifications Mail to people about their own apps and access.
Setting Label What it does
telemetry_enabled Export telemetry When off, nothing is exported and nothing fails.
telemetry_endpoint Collector endpoint The collector’s base URL.
telemetry_headers Credential Write-only headers for a collector that needs authentication.
telemetry_traces Traces Whether spans are exported.
telemetry_metrics Metrics Whether metric batches are exported.
telemetry_sample_ratio Trace sampling Share of traces to keep, from 0 to 1.
telemetry_temporality Metric temporality Cumulative or delta, whichever your collector expects.
Setting Label What it does
integration_connections Connections One credential for one place. Each connection is attached to apps separately.
integration_catalog What you can connect Everything this version can send to.
integrations_retain_bodies Keep message bodies When off, the log keeps a checksum of each message, not its text.
integrations_retention_days Keep the integration log for At least 30 days.
Setting Label What it does
feature_switches Optional features What this build offers, what the license covers, and what is switched on.
Setting Label What it does
license_key License key The key this install was issued. Its term and entitlements come from the license service.

Ranges are the bounds the Settings page accepts. “or 0” means 0 is also accepted; what 0 means is in the row.

Rule Applies to
0 or blank means “use the environment’s value”, never “off”. The memory and CPU values can be sent in either unit (app_memory_limit_gb, app_cpu_request_cores, app_cpu_limit_cores), but not both in one save. The operating dials: app_memory_limit_mb, app_cpu_request_millicores, app_cpu_limit_millicores, max_concurrent_builds, auto_deploy_poll_seconds, r_package_repository, log_level
Default on, and an absent row reads as on. Turning one off takes a capability away. public_apps_enabled, apps_listable_to_authenticated, background_jobs_enabled
Write-only. Never returned to a browser; leaving the field blank keeps the stored value. email_password, email_api_key, telemetry_headers, dependency_feed_credential
Required together. An expiry is required whenever there is a contact; a date in the past is refused. security_txt_contact, security_txt_expires
Floored at 30 days. integrations_retention_days
A ceiling refuses new declarations and caps old ones. A job whose toft.toml asks for more is refused at toft check and deploy with limit_exceeds_ceiling; a job already deployed above a ceiling you lower is capped and marked clamped. max_job_timeout_seconds, max_job_memory_mb
Blank turns .env.<tag> defaults off. 1–32 lowercase letters, digits, dashes or underscores. environment_tag