Skip to content

Docker Swarm

Manage a Docker Swarm cluster, services, stacks, configs, secrets, and node agents.

Use Docker Swarm instead of Compose projects when an app should run on several hosts or survive a host going down. Swarm is Docker’s built-in clustering mode: hosts join one cluster, and Swarm schedules, replicates, and restarts services across them.

Start a new Swarm or join an existing cluster from an environment's cluster panel.
Options to initialize a Docker Swarm or join an existing cluster.Options to initialize a Docker Swarm or join an existing cluster.

Start a new Swarm or join an existing cluster from an environment's cluster panel.

  1. Open Swarm → Cluster to see each environment’s Swarm role, and Nodes for the cluster’s hosts.
  2. Add hosts with Easy Join from a manager’s row on the Cluster page, or an environment’s detail page or row menu. Arcane fills in the manager address and join token.
  3. Create the app’s Configs and Secrets, deploy from Stacks, then check rollout health and logs under Services and Tasks.
Page What it covers
Cluster Initialize a Swarm, join, leave, unlock, rotate join tokens, update cluster spec.
Workloads Stacks, services, tasks, scaling, rollbacks, logs.
Nodes & Agents Node operations, agent coverage, deployment, and fixing agent links.
Configs & Secrets Create and delete configs and secrets, and when to use each.

Arcane reads cluster resources from Swarm manager environments. If several of yours manage one cluster, Arcane reads through one, so each resource is listed once; the Environment column shows which manager. Stacks are grouped by the com.docker.stack.namespace service label, so stacks created outside Arcane show up too. Agents on nodes add access to each node’s containers and images; services and stacks stay visible without them (see Nodes & Agents).

  • Swarm lists include only manager environments; workers appear on the Cluster page. Cluster actions such as unlock, token rotation, and spec updates need a Swarm manager environment.
  • Viewing Swarm resources needs swarm:read. Each change needs its own permission, such as swarm:init, swarm:join, swarm:nodes, swarm:services, swarm:stacks, or swarm:unlock. See the permission catalog.