Skip to main content
The server is configured with environment variables. This page lists every one of them with its default. With the Helm chart you set most of them through chart values instead; Configuration maps the values to these variables.

Server

Accounts

Accounts are on when the server has a database. People sign up in the panel, work in orgs, and the CLI signs in with atoll login or a personal access token.

Admin area

Platform admins (see ATOLL_AUTH_ADMIN_EMAILS) get an Admin page in the panel: users and orgs (search, suspend, delete, make admin), system status (build queue, replicas, runners, storage), revenue, and “view as user”. It needs accounts, so a server without a database has none.
  • A suspended user can’t sign in; their sessions end and their tokens stop working until they are unsuspended.
  • A suspended org has its apps scaled to zero, like billing does past a limit, until it is unsuspended.
  • “View as user” turns the admin’s own session into a read-only view of the panel as that user: the server refuses every change in it, and the panel shows a banner with “Stop viewing”. It only applies to the panel’s requests; a link opened in the browser still acts as the admin.
  • Every admin action and every view as a user is written to an audit log, shown on the System tab.

Env vars

Build runners

See Build runners.

Email notifications

Users get emails about failed, partial, recovered and live deployments, spend limits and their org’s runners; each user picks which on the Account page and per project in its settings (see Notifications). They need accounts, so a server without a database sends none. Emails go through the SMTP server of ATOLL_AUTH_SMTP_*; without one they are written to the server log. Only verified addresses get them, and every email has an unsubscribe link and a one-click List-Unsubscribe header.
  • Sending never holds up a deployment: emails are queued, retried a few times when SMTP fails, and sent once per deployment, event and user, also with several replicas.
  • After an email to someone, more within the digest window are held and sent as one digest.

Regions

See Regions.

App metrics

See App metrics.

Data stores

Postgres, Redis and Files stores users create in the panel. They need ATOLL_RUNTIME=kubernetes. See Storage.

Firewall

The Helm chart sets these on atoll-edge (the server image started with ATOLL_ROLE=edge): See Firewall.

Database, storage, Kubernetes, domains and billing

These settings are documented next to what they configure:

Running the platform on Kubernetes

From Running the platform on Kubernetes.

Custom domains

From Custom domains.

Billing settings

From Billing settings.

Deploy from GitHub

From Deploy from GitHub.

CI

From CI.

App distribution

From App distribution.

Not server settings

  • The server passes ATOLL_SERVER, ATOLL_DEPLOYMENT_ID, ATOLL_PROJECT, ATOLL_BUILD_TOKEN (a different one to each of the pod’s two containers), ATOLL_IMAGE_REPO, ATOLL_WORK_DIR, ATOLL_OUT_DIR, ATOLL_ENV_DIR and ATOLL_RUNNERS to build pods. Don’t set them yourself.
  • On users’ machines, the CLI reads ATOLL_SERVER and ATOLL_TOKEN; see the CLI reference.
  • On runner hosts, atoll-runner reads ATOLL_SERVER, ATOLL_REGISTRATION_TOKEN, ATOLL_RUNNER_TOKEN_FILE and ATOLL_JOB_TOKEN; see Build runners.
  • Projects can’t use env vars named PORT or starting with ATOLL_; the platform drops them at deploy time.