Features

Everything you need to manage multiple Docker stacks efficiently.

🔌 Automatic Port Allocation

No more port conflicts! StackMark automatically assigns unique ports to each stack starting from 9000.

How it works:

  1. When you stackmark add a project, StackMark scans docker-compose.yml for port mappings
  2. It allocates unique external ports starting from 9000
  3. When you stackmark start, it creates a temporary override file
  4. Your original docker-compose.yml is never modified
Example
Original docker-compose.yml:
nginx: 80:80
db: 3306:3306
StackMark allocates:
nginx: localhost:9003 → container:80
db: localhost:9004 → container:3306

📊 Interactive Dashboards

Monitor all your stacks in real-time with two dashboard options: terminal (TUI) or web browser.

Terminal Dashboard (TUI)

Quick terminal-based view with stackmark dash:

stackmark dash
🐳 StackMark Dashboard
──────────────────────────────────────
myapp running
→ http://localhost:9003
Other: db:9004, redis:9005
○ other-stack stopped
Press q to quit • Auto-refresh: 2s

Web Dashboard

Full-featured browser dashboard with stackmark web:

stackmark web --open
🐳 Stackmark Dashboard
Server running at http://localhost:3456
Press Ctrl+C to stop

The web dashboard displays all stacks with status, forwarded ports, container details, and clickable URLs. Auto-refreshes every 3 seconds.

🎯 Smart Auto-Detection

Run commands from any project directory - StackMark automatically detects which stack you're working with.

terminal
$ cd ~/Dev/myapp
$ stackmark start # Starts myapp
$ stackmark logs -f # Shows myapp logs
$ stackmark status # Shows myapp status

🌐 Hosts Management

Sync local domains to /etc/hosts with a single command.

terminal
$ stackmark add myapp --domain myapp.local
$ sudo stackmark hosts sync
Added: 127.0.0.1 myapp.local

🔄 Autostart Control

Control whether containers automatically start when your system boots. Prevent development containers from consuming resources unnecessarily.

terminal
$ stackmark autostart disable myapp
Autostart disabled for "myapp"
Containers will NOT restart automatically on system boot
$ stackmark list
myapp running
→ http://localhost:9003
↻ no autostart

Comparison

Feature StackMark Docker Compose Portainer
CLI-first
Auto Port Allocation
Project Templates
TUI Dashboard
Web Dashboard
Auto-detection
Hosts Sync
Autostart Control