Containo is a lightweight and beginner-friendly Docker management dashboard. Unlike heavy enterprise tools, Containo is designed specifically for students and developers who are new to Docker and want a simple, intuitive way to monitor their containers without getting lost in complex configurations.
- Simple & Focused: No cluttered menus. Just the essential tools you need to manage your containers.
- Learning Friendly: A great starting point for those who want to see how Docker works visually.
- Plug & Play: Zero-configuration setup means you can get it running in seconds.
- Zero-Config Security: No need to worry about complex security setups. Containo automatically generates a secure access key for you on the first run.
- Real-time Monitoring: See your container's CPU and RAM usage live via WebSockets—no page refreshes required.
- Easy Management: Start, stop, and restart containers with a single click.
- Minimalist Design: A clean, modern UI with dark mode support, making it easy on the eyes during late-night coding sessions.
- Framework: Next.js (App Router)
- Language: TypeScript
- Docker Integration: Dockerode
- Real-time Engine: ws (WebSockets)
- Database: Better-SQLite3
Follow these steps to get Containo running on your machine:
You can run Containo directly from the terminal without cloning the project:
docker run -d \
--name containo \
--restart unless-stopped \
-p 3611:3611 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home:/host \
-v containo-data:/app/data \
-e DOCKER_HOST=unix:///var/run/docker.sock \
ijon6k/containo:latestIf you prefer using Docker Compose, follow these simple steps to set it up:
-
Create a new folder and enter it:
mkdir containo && cd containo
-
Create a configuration file: Create a file named
docker-compose.ymlin that folder and paste the following configuration:services: containo: image: ijon6k/containo:latest container_name: containo ports: - "3611:3611" volumes: - /var/run/docker.sock:/var/run/docker.sock - /home:/host # Choose ONE option for persisting data: # Option A: Named Volume (Recommended - managed by Docker) - containo-data:/app/data # Option B: Bind Mount (Uncomment below if you want data in your local folder) # - ./data:/app/data environment: - DOCKER_HOST=unix:///var/run/docker.sock restart: unless-stopped # Required if using Option A (Named Volume) volumes: containo-data:
-
Start the application: Run this command in the same directory:
docker compose up -d
If you want to run it from the source code:
-
Clone the Repository:
git clone https://github.com/Ijon6k/containo.git cd containo -
Option A: Run with Docker Compose (Local Build):
docker-compose up -d --build
-
Option B: Manual Installation (Node.js):
- Install Dependencies:
pnpm install
- Build & Start:
pnpm run build pnpm run start
- Install Dependencies:
Access the dashboard at http://localhost:3611.
For ease of use, if you don't provide a JWT_SECRET in your environment variables, Containo will automatically generate one and save it in data/.jwt_secret. This ensures your dashboard is protected even if you forget to set a password.
Containo - Docker management, made simple for everyone.
