TL;DR: I built desto to monitor long-running processes through a web interface. It lets you manage tmux sessions, view logs, schedule jobs, and get notifications—all from your browser while keeping the terminal power you love.
Demo gif
As developers, we often have processes that need to run for hours or even days—training ML models, processing large datasets, running extensive test suites, or performing system maintenance. While the terminal is perfectly capable of handling these tasks, I found myself wanting a more visual way to monitor multiple long-running jobs simultaneously.
That's why I created desto—a web dashboard that complements your terminal workflow by giving you an overview of all your background processes at a glance.
The Problem I Wanted to Solve
I love working in the terminal, but managing multiple long-running processes presented some challenges:
- Monitoring: Checking on several processes meant switching between tmux sessions or opening multiple terminal tabs
- Log access: Quickly viewing logs from different jobs required remembering session names and navigating directories
-
Scheduling: Setting up processes to run at specific times often meant writing cron jobs or using
at
commands - Notifications: Knowing when a long-running job finished without constantly checking
- Quick control: Stopping or restarting processes with a few clicks instead of typing commands
What desto Does
desto runs alongside your terminal workflow, providing a web dashboard at http://localhost:8809
where you can:
🔍 Monitor Long-Running Processes
Keep an eye on multiple background jobs without switching between terminal sessions. The dashboard shows all your active tmux sessions and their status at a glance.
📊 Track System Resources
See real-time CPU, memory, and disk usage—especially useful when running resource-intensive processes like data analysis or model training.
📝 Easy Log Access
View logs from any session instantly. No need to remember which directory contains your logs or which tmux session is running what.
⏰ Simple Scheduling
Schedule scripts to run at specific times through the web interface. Great for automated backups, data processing pipelines, or any recurring tasks.
🎯 Quick Process Control
Start, stop, or restart processes with a few clicks. The terminal is still there when you need it, but sometimes you just want the convenience of a button.
⛓️ Process Chaining
Queue multiple scripts to run sequentially—useful for complex workflows where one process depends on another.
Core Features
Script Management
-
Dual support: Run both bash (
.sh
) and Python (.py
) scripts - Auto-detection: The system recognizes your script type and handles execution appropriately
- Built-in editor: Write or edit scripts directly in the browser when needed
- Persistent storage: Scripts and logs are organized in dedicated folders
Session Control
- Keep-alive option: Toggle to keep tmux sessions open after scripts complete
- Live monitoring: Watch script output in real-time
- Session naming: Organize your processes with meaningful names
Modern CLI
For terminal enthusiasts, desto includes a comprehensive CLI that mirrors all web functionality:
# Check system status
desto-cli doctor
# Session management
desto-cli sessions list
desto-cli sessions start "data-processing" "python analyze_data.py"
desto-cli sessions logs "data-processing"
# Script management
desto-cli scripts list
desto-cli scripts run "backup_script"
Getting Started
Quick Start with Docker
git clone https://github.com/kalfasyan/desto.git && cd desto
docker compose up -d
Visit http://localhost:8809
and you're ready to go.
Installation with Python
#### With uv (recommended)
uv add desto
#### Or with pip
pip install desto
#### Run the dashboard
desto
Prerequisites
You'll need tmux
for session management and optionally at
for scheduling:
# Debian/Ubuntu
sudo apt install tmux at
# Fedora/RHEL
sudo dnf install tmux at
# Arch Linux
sudo pacman -S tmux at
Real-World Use Cases
Long-running data processing: Monitor ETL pipelines, large dataset transformations, or batch processing jobs that run for hours.
Machine learning workflows: Track model training, hyperparameter tuning, or data preprocessing tasks that need to run overnight.
Development automation: Manage build processes, test suites, or deployment scripts that take significant time to complete.
System maintenance: Schedule and monitor backup processes, log rotation, system updates, or cleanup tasks.
Research computing: Keep track of simulations, analysis scripts, or computational experiments that run for extended periods.
How It Works
When you start desto, it creates desto_scripts/
and desto_logs/
directories in your current location (customizable via settings or environment variables). Your existing scripts are automatically recognized, and you can create new ones through the interface or continue using your preferred editor.
The dashboard connects to your tmux sessions, providing a unified view while keeping all the terminal functionality you're used to. It's designed to enhance your existing workflow, not replace it.
Why I Built This
I work with processes that often run for hours or days—data analysis, model training, large file processing. While I love the terminal and tmux is incredibly powerful, I wanted something that could give me an overview of all my background processes without losing the flexibility and control that command-line tools provide.
desto bridges that gap. The terminal is still there when you need fine-grained control, but now you also have a visual dashboard for those times when you want to quickly check on multiple jobs, view logs, or schedule new tasks.
Try It Out
If you regularly work with long-running processes or find yourself juggling multiple background tasks, desto might fit well into your workflow. The Docker setup takes less than a minute, and you can keep using your terminal exactly as you always have.
Check it out on GitHub and let me know if you find it useful for your projects.
What's your current approach to managing long-running background processes? I'd love to hear about your workflow and any similar tools you've found helpful.
Tags: #tmux #python #bash #productivity #monitoring #backgroundjobs #webdev
Top comments (0)