DEV Community

Parv Ruhil
Parv Ruhil

Posted on

DevBoxOS v1.0.2: One Command to Rule Your Entire Dev Environment

DevBoxOS v1.0.2 — One Command to Rule Your Entire Dev Environment

We've all been there. You clone a repo, and the README says:

"Start the database, then start Redis, then run the migration script, then start the API, then start the frontend. See .env.example."

An hour later you're still debugging why port 5432 is already in use.

DevBoxOS fixes this. One config file. One command.


What is DevBoxOS?

DevBoxOS is a local-first development environment manager. You describe your entire stack in a devbox.yml file, and DevBoxOS handles everything else — starting services in dependency order, waiting for health checks, managing secrets securely, and letting you snapshot your entire environment.

devboxos start
Enter fullscreen mode Exit fullscreen mode

That's it.


The Config File

A minimal devbox.yml looks like this:

name: my-project
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  postgres:
    image: postgres:16-alpine
    env:
      - POSTGRES_DB=myapp
      - POSTGRES_PASSWORD=${secrets.DB_PASSWORD}
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "postgres"]
      interval: 10s
  api:
    image: myapp-api:latest
    depends_on:
      - postgres
Enter fullscreen mode Exit fullscreen mode

DevBoxOS reads the depends_on relationships, starts postgres first, waits for its health check to pass, then starts the API.


Features Worth Highlighting

🔒 Encrypted Secrets

No more secrets in .env files. DevBoxOS uses age encryption (X25519 + ChaCha20-Poly1305):

devboxos secrets set DATABASE_URL "postgres://user:pass@db:5432/myapp"
devboxos secrets get DATABASE_URL --reveal
Enter fullscreen mode Exit fullscreen mode

Secrets are stored in .devbox/secrets.enc — you can safely commit this to your repo.


📸 Environment Snapshots

This is huge for teams. Save your entire environment state — containers, volumes, networks — and share it:

devboxos snapshot save pre-migration
devboxos snapshot export abc12345 ./snapshot.tar
# teammate runs:
devboxos snapshot import ./snapshot.tar
devboxos snapshot load abc12345
Enter fullscreen mode Exit fullscreen mode

No more "can you send me a copy of your database?"


🩺 Diagnostics

devboxos doctor
Enter fullscreen mode Exit fullscreen mode

Runs checks for: Docker daemon access, disk space, memory, config validity, secrets integrity, port conflicts, circular dependencies, orphaned containers.


📊 Resource Monitoring

devboxos top
Enter fullscreen mode Exit fullscreen mode

Real-time CPU/memory dashboard for all running services. Refreshes every 2 seconds by default.


🔄 Hot Reload

devboxos start --watch
Enter fullscreen mode Exit fullscreen mode

Watches your files and auto-restarts services on changes.


Architecture

DevBoxOS is two binaries:

  • devboxos — the CLI (cobra-based)
  • devbox-engine — a gRPC daemon that manages container lifecycle

The CLI talks to the engine over gRPC (:51000). If the engine isn't running, most commands fall back directly to the Docker SDK — so you're never fully blocked.

It's written entirely in Go (98.7% of the codebase) and is cross-platform: Linux, macOS, and Windows.


vs Docker Compose

Feature DevBoxOS Docker Compose
Snapshots ✅ Native
Encrypted secrets ✅ age-encrypted ❌ Plain env files
Diagnostics ✅ Comprehensive
Resource monitoring ✅ Built-in
Plugin system ✅ Hook-based
Config complexity Low Medium

DevBoxOS can also import/export Docker Compose files:

devboxos init compose-import   # docker-compose.yml → devbox.yml
devboxos init compose-export   # devbox.yml → docker-compose.yml
Enter fullscreen mode Exit fullscreen mode

Install

Linux/macOS:

curl -fsSL https://raw.githubusercontent.com/parv68/DevBoxOS/main/scripts/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

Windows (PowerShell):

irm https://raw.githubusercontent.com/parv68/DevBoxOS/main/scripts/install.ps1 | iex
Enter fullscreen mode Exit fullscreen mode

Build from source (Go 1.25+):

git clone https://github.com/parv68/DevBoxOS.git
cd DevBoxOS
go build -o devboxos ./cli
go build -o devbox-engine ./engine/cmd
sudo mv devboxos devbox-engine /usr/local/bin/
Enter fullscreen mode Exit fullscreen mode

Quick Start

# 1. Start the engine daemon
devbox-engine &

# 2. Go to your project and auto-detect config
cd my-project
devboxos init

# 3. Validate
devboxos validate

# 4. Start everything
devboxos start

# 5. Check status
devboxos status
Enter fullscreen mode Exit fullscreen mode

Wrapping Up

DevBoxOS v1.0.2 is the first stable release. It's MIT licensed, fully open source, and contributions are very welcome.

If you work with multi-service setups daily, give it a try and let me know what breaks. That's exactly the kind of feedback that helps an early-stage open-source project grow.

GitHub: https://github.com/parv68/DevBoxOS


Built with ❤️ for developers who want their dev environment to just work.

Top comments (0)