selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
ContainerFlow logo

Self-host ContainerFlow

v0.1.10

Docker architecture visualizer, monitoring & config checks

BetaOpen SourceAGPL-3.0
Docker ComposeCompose file & guide
docker compose up -d
Updated5 months ago
LanguageTypescript
Setup difficultyModerate
Stars
192
RAM
80 MB
Port
9470 (HTTP server and WebSocket)
Requires
Docker
Docker
ghcr.io/rgjorge/containerflow
ContainerFlow screenshot 1

What is ContainerFlow?

ContainerFlow discovers Docker services through the socket, organizes them by project, and renders an interactive graph with detected links between applications, databases, caches, and proxies. Live CPU and memory readings refresh every few seconds, while a monitoring screen keeps historical charts for periods from one hour to a week in SQLite. Discord webhooks can send alerts when containers change state or exceed resource thresholds. The interface highlights containers that lack memory caps, CPU caps, or restart policies with warning banners. A side panel shows container details, statistics, environment variables, configuration, mounted volumes, live logs, and a built-in terminal for running commands inside containers. Container operations like starting, stopping, restarting, rebuilding, recreating, and removing work straight from the UI. Multi-tenant setups use ALLOWED_PATHS for path-based access control. The stack runs on Bun, Hono, React 19, and Tailwind CSS 4, consuming roughly 80 MB of RAM and starting in about half a second. It can be launched via Docker Compose using a prebuilt GHCR image, built locally with Bun, or run in development mode with hot reload.

Should you self-host ContainerFlow?

ContainerFlow scores 45/100 on selfhost.directory (how scoring works) and ranks #77 of 104 in Monitoring & observability. It has 192 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.1.10, came out on 30 May 2026. New versions land roughly every 1 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is dockge (76/100, 24 700 stars). It scores higher overall, so compare the two before you pick. See ContainerFlow vs dockge side by side.

Features

  • Container Actions
  • Container detail panel
  • Discord Notifications
  • Error toasts
  • Inline terminal (docker exec)
  • Monitoring page with history
  • Path-based access control
  • Project filter
  • Real-time container logs
  • Real-Time Metrics
  • Smart connection detection
  • Volumes and mounts listing

ContainerFlow README

How to install ContainerFlow

Install ContainerFlow with Docker Compose

Docker with socket access (/var/run/docker.sock)
Environment variables
PORT, AUTH_TOKEN, DATA_DIR, HOST_PROJECTS_DIR, ALLOWED_PATHS, ALLOW_NON_COMPOSE
curl -O https://raw.githubusercontent.com/RGJorge/ContainerFlow/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/RGJorge/ContainerFlow/main/.env.example
cp .env.example .env
docker compose up -d

Uses prebuilt image from GHCR

How to configure ContainerFlow

  • ALLOWED_PATHSEmpty = everything actionable (permissive mode). With values = colon-separated list of prefixes; only containers whose compose file lives under one of these paths can execute actions

    Empty = everything actionable (permissive mode). With values = colon-separated list of prefixes; only containers whose compose file lives under one of these paths can execute actions

  • ALLOW_NON_COMPOSEfalseOnly applies when ALLOWED_PATHS is active. false = block actions on non-compose containers; true = allow them

    Only applies when ALLOWED_PATHS is active. false = block actions on non-compose containers; true = allow them

    values: true,false

  • AUTH_TOKENAuth token. Empty = no auth, localhost only. Set = auth enabled, remote access allowed

    Auth token. Empty = no auth, localhost only. Set = auth enabled, remote access allowed

  • DATA_DIR./dataPersistence directory: stats history, Discord config, per-container overrides, node positions and env file overrides

    Persistence directory: stats history, Discord config, per-container overrides, node positions and env file overrides

  • HOST_PROJECTS_DIRAdditional path to mount so rebuild/remove can read compose files outside the defaults (/home, /opt, /srv, /root)

    Additional path to mount so rebuild/remove can read compose files outside the defaults (/home, /opt, /srv, /root)

  • PORT9470Server port

    Server port

ContainerFlow releases & version history

More in Docker Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…