micromux
Micromux is a local process supervisor with a terminal UI.
Think of it as Docker Compose for local processes (not containers) — like preconfigured tmux panes that come with Compose-style dependencies, healthchecks, and restarts.
It runs multiple long-lived commands (your dev “services”) on your machine, tracks their state, and gives you a single place to:
- see logs (ANSI/interactive output supported)
- restart/disable services
- gate startup by dependencies + healthchecks
- send input to a service (PTY-backed “attach” mode)
Install
# Or install from source
Use
Micromux looks for a config in the current directory:
micromux.yaml.micromux.yamlmicromux.yml.micromux.yml
Start it:
Or specify a config explicitly:
Minimal config example:
# yaml-language-server: $schema=https://github.com/romnn/micromux/raw/main/micromux.schema.json
version: "1"
services:
api:
command:
env_file: ".env"
restart: unless-stopped
healthcheck:
test:
interval: "2s"
timeout: "1s"
retries: 10
worker:
command: "./run-worker"
depends_on:
- name: api
condition: healthy
TUI controls:
- Navigate:
j/k(or arrows) - Restart:
r(current),R(all) - Disable/enable:
d - Attach mode (send input):
a(exit attach mode withAlt+Esc) - Toggle panes/focus:
Tab, healthchecks pane:H - Logs: wrap
w, follow-tailt - Quit:
q(orEsc)
How it differs from Docker Compose
Micromux is not a container orchestrator.
- Runs host processes: no images, builds, networks, volumes, or container isolation.
- Fast local workflow: start/stop/restart your existing scripts/binaries with a UI.
- Dependency + health gating: delay starting a service until deps are started/healthy/completed.
If you need reproducible environments, networking, volumes, or cross-machine parity, use Docker Compose.
How it differs from tmux/screen
tmux/screen are terminal multiplexers.
Micromux adds “service awareness”:
- Structured service lifecycle (pending/starting/running/healthy/unhealthy/exited/disabled)
- Restart policies (
always,unless-stopped,on-failure[:N]) - Healthchecks and dependency conditions
- Single aggregated UI for selecting services and viewing logs