Skip to content

Deployments

Dozzle Cloud

Dozzle can deploy and manage Docker Compose projects directly on any host connected to Dozzle Cloud. Each project is stored as a git-backed repository on disk, which means every change is versioned and any previous revision can be redeployed with a single command.

IMPORTANT

Deployments are only available through Dozzle Cloud. There is no UI in Dozzle for managing them yet — you interact with the feature by chatting with the Cloud assistant (for example: "Deploy this compose file as nginx-demo" or "Roll back api to the previous version").

How It Works

When you deploy a project, Dozzle:

  1. Creates a directory at ./data/stacks/{project} on the target host
  2. Writes your compose.yaml into it and commits it to a local git repository
  3. Calls Docker Compose to bring the project up
  4. On subsequent deploys, commits the new compose file and redeploys
  5. Stores every revision as a git commit, so you can list history and roll back

Project names must match [a-z0-9][a-z0-9_-]* (lowercase letters, digits, dashes, and underscores).

Enabling Deployments

Deployments require the /data directory to be persisted and the --enable-actions flag (same flag used for Container Actions).

sh
docker run \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/path/to/data:/data \
  -p 8080:8080 \
  amir20/dozzle --enable-actions
yaml
services:
  dozzle:
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /path/to/data:/data
    ports:
      - 8080:8080
    environment:
      DOZZLE_ENABLE_ACTIONS: true

NOTE

Deployments are only available on hosts with a local Docker daemon. They are not supported in Kubernetes mode.

What You Can Do

Through Dozzle Cloud, you can ask the assistant to:

  • Deploy a new project from a Compose YAML, or update an existing one
  • List versions for a project and see its full commit history (hash, message, timestamp)
  • Roll back a project to any previous commit using its short or full hash
  • Remove a project — tears down containers and networks, and optionally deletes named volumes

Because every deploy is committed, updating a project is safe: if the new configuration breaks, you can roll back to the previous working revision.

On-Disk Layout

Projects live under ./data/stacks/ by default:

data/stacks/
├── api/
│   ├── .git/
│   └── compose.yaml
└── nginx-demo/
    ├── .git/
    └── compose.yaml

Each directory is a standalone git repository. You can inspect history with standard git tooling if needed, but day-to-day management is meant to go through Dozzle Cloud.

WARNING

Removing a project deletes its directory, including its git history. If you pass the "remove volumes" option, named volumes declared by the project are deleted as well — this is destructive and not recoverable.

Released under the MIT License. Open sourced and sponsored by Docker OSS.