Prerequisites
1. Initialize Docker Swarm
On the manager node:2. Join worker nodes (optional)
On each worker node, run the join command provided bydocker swarm init:
Registry authentication
Registry authentication is zero-touch. The CLI fetches the registry token itself on every deploy and hands fresh credentials to Swarm. You do not install a credential helper, rundocker login, or manage expiring tokens by hand on any node.
Deployment
Deploy the stack:--yes. In --yes mode the CLI auto-fixes everything it can, then aborts with an actionable list if a human-required value (such as an LLM API key or the external DATABASE_URL) is still missing.
Run an interactive 2501 infra deploy to upgrade: the CLI lists published releases newest-first and self-updates its own binary to match the version you pick before deploying. Back up PostgreSQL first, and see Upgrading for the rollback path. For all deployment options, run 2501 infra deploy -h.
Post-deployment
Verify the services are healthy:2501 infra deploy without --yes, the CLI interactively prompts you to create your first tenant, organization, and admin user. In --yes mode, create them afterward with 2501 infra tenant create, 2501 infra org create, and 2501 infra user create (use -h on each for details).
