Skip to content

About

The Docker Instance Manager (DIM) is a centralized management system for controlling multiple Docker instances and related services across your infrastructure.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

730 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Instance Manager (DIM)

License: MIT Node.js Build Workflow

One dashboard for all your Docker hosts. A lightweight agent runs next to the Docker Engine on each host; a central server collects what the agents report and sends back what you ask them to do. DIM replaces neither Docker nor Compose — it is the control plane above the engines you already run.

The DIM client list

Features

  • Every host in one place — containers, images, volumes and networks, live over WebSockets.
  • Container and image actions — start, stop, restart, remove, pull, prune, straight from the UI.
  • Update checks — local digests compared with Docker Hub, ghcr.io and lscr.io.
  • Pull & Recreate — update an image and recreate its containers in one step.
  • Projects — group containers across hosts by a query and update them together.
  • Autonomous auto-update — label- or project-driven, scheduled per host or project, run by the agents themselves, so it keeps working while the server is down.
  • Activity list — what happened on each host, from the Docker event stream, grouped by the action or run that caused it.
  • Webhooks — events go to a chat channel, a push service or an endpoint of your own, each webhook with a JSON body template of its own, filtered by level and event kind.
  • Secure by default — agents register with a one-time token and a setup PIN; per-client address checks; local accounts and OIDC single sign-on.

Quick start

Server — in an empty directory, touch server-config.yaml first, then:

services:
    dim-server:
        image: ghcr.io/stefgo/dim-server:latest
        container_name: dim-server
        ports:
            - "3000:3000"
        volumes:
            - server-data:/app/server/backend/data
            - ./server-config.yaml:/app/server/config.yaml
        environment:
            - NODE_ENV=production
        restart: unless-stopped

volumes:
    server-data:

docker compose up -d, open http://<server>:3000 and sign in with admin / admin — then change that password under Users.

Agent — on each Docker host, sudo touch client-config.yaml (the file has to belong to root, the agent runs without capabilities), then:

services:
    dim-client:
        image: ghcr.io/stefgo/dim-client:latest
        container_name: dim-client
        ports:
            - "3001:3001"
        cap_drop:
            - ALL
        security_opt:
            - no-new-privileges:true
        read_only: true
        tmpfs:
            - /tmp
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
            - ./client-config.yaml:/app/client/config.yaml
            - client-data:/app/client/data
        environment:
            - NODE_ENV=production
        restart: unless-stopped

volumes:
    client-data:

docker compose up -d, then in the dashboard Clients → Add Client → The agent connects to this server → Generate Token. Open http://<host>:3001/register and enter the server URL, the token and the setup PIN from docker logs dim-client.

The Quick Start guide walks through the same steps with screenshots.

Documentation

stefgo.github.io/docker-instance-manager — sources in docs/:

Development

An npm monorepo: server/backend (Fastify, SQLite), server/frontend (React, Vite), client (the agent, Dockerode) and shared (types and Zod schemas). Setup, build pipeline and release process are in the Development guide.

Contributions are welcome — for larger changes please open an issue first.

License

MIT — see LICENSE.

About

The Docker Instance Manager (DIM) is a centralized management system for controlling multiple Docker instances and related services across your infrastructure.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages