Skip to content

Stack Management

dockmesh manages stacks — groups of containers defined by a Docker Compose file. Each stack lives on disk as a directory containing compose.yaml and an optional .env file. The filesystem is always the source of truth; the database only stores metadata and runtime state.

From the UI:

  1. Stacks → New stack
  2. Pick a host from the dropdown
  3. Enter a name and paste (or edit) your compose.yaml
  4. Click Create to save to disk, or Create & Deploy to start immediately

Stacks are written to <DOCKMESH_STACKS_ROOT>/<host>/<name>/compose.yaml.

Already have a container running? Paste the docker run command into New stack → Import from docker run and dockmesh generates the equivalent compose.yaml — including volumes, networks, env vars, labels, restart policies, and port mappings.

The detail page exposes:

  • Deploy — pulls images, creates/updates containers, applies compose changes
  • Stop — graceful stop with configurable timeout
  • Restart — stop then deploy
  • Pull — re-pulls images without redeploying
  • Remove — stops containers and removes them (volumes kept by default)

Every action streams live logs into the UI so you see exactly what Compose is doing.

The compose.yaml editor is a full Monaco editor with YAML validation, auto-completion of Compose v3 schema, and Git-style diff against the last deployed version. Changes are saved to disk; the deploy button applies them.

Point a stack at a Git repo and dockmesh will pull updates on a schedule or via webhook. Your CI can git push to trigger redeploys — no custom webhook code required.

Save any stack as a template, then spin up copies on other hosts with a single click. Templates support variable substitution, so a postgres template can be reused across environments with different credentials and volume names.