Skip to main content
2501 is configured defaults-first. Every default (registry, ports, resources, Swarm and health settings) is embedded in the CLI binary, so you only specify what differs from those defaults.

Configuration files

FilePurposeRequired?
env.engineEnvironment variables for the 2501 EngineYes
env.command-centerEnvironment variables for the Command Center UIYes
2501-infra.ymlOptional overlay for values that differ from the defaultsNo
A plain Docker Swarm deployment with an external database needs no 2501-infra.yml at all, just the two environment files. The CLI fills in everything else from its embedded defaults.

The 2501-infra.yml overlay

2501-infra.yml is optional and deep-merged on top of the embedded defaults, so it only needs to hold the values you actually want to change. The CLI writes one for you when your deployment is non-default, such as a Kubernetes target, managed PostgreSQL, a stored registry key, or a pinned image tag. To see exactly what the CLI will apply, run 2501-infra config for the effective merged configuration, or 2501-infra config --defaults for just the embedded defaults. This is the quickest way to confirm a value before deploying.

Environment files

env.engine and env.command-center hold the environment variables for the Engine and the Command Center. The CLI generates, defaults, and copies everything it can, prompting only for human-required values such as LLM provider API keys and the external DATABASE_URL.
Contact your Account Executive at 2501 for the list of supported LLM providers and their configuration.

Applying configuration

2501-infra deploy syncs your environment files to the current version’s spec on every run, generating and defaulting what it can and prompting only for human-required values. There is no separate apply step.

Init Command

Workspace layout and resolution order

Docker Swarm

Deploy to production with Swarm

Kubernetes

Deploy to a Kubernetes cluster

LLM Providers

Configure provider API keys