DockFleet

Lightweight container orchestration for solo developers and small teams

Description

DockFleet: Lightweight Container Orchestration for Solo Developers


The Problem

You're running 5 side projects on a single VPS. One crashes at 2 AM. You SSH in, restart it manually, and lose sleep.

Docker Compose is too manual—no health monitoring, no auto-restart, no visibility. Kubernetes is overkill—complex setup, heavy resource consumption, designed for multi-server clusters. You need something in between.


The Solution

DockFleet gives you Kubernetes-like orchestration (health checks, auto-restart, unified logs, clean UI) on a single machine—no vendor lock-in, no complexity, no external APIs. Built for solo devs who ship fast.


What is DockFleet?

A local-first, FOSS container orchestration tool that manages multiple Docker containers on one VPS or local machine. Define your services in one YAML file, run one command, and DockFleet handles the rest: monitoring health, auto-restarting failures, aggregating logs, and providing a real-time web dashboard—all without leaving your machine.


Core Features (MVP)

  • Config-based service definition (YAML)

  • One-command deployment dockfleet up)

  • Automated health monitoring with configurable checks

  • Auto-restart on container failure

  • Real-time web dashboard (status + logs)

  • Cross-platform support (Linux, WSL, macOS)

  • Zero external API dependencies—fully self-hosted


How It Works

1. Config: Parse dockfleet.yaml → validate services, health endpoints

2. Orchestration: Python subprocess wrapper around Docker CLI

(no Docker SDK dependency for portability)

3. Health Loop: Background thread polls each container's health

endpoint every 30s, writes to SQLite

4. UI: FastAPI serves static HTML + SSE endpoint for real-time logs

5. State: SQLite stores container status, restart history, and log index


Tech Stack

Backend

- Python 3.10+ - Core orchestration logic

- FastAPI - REST API + SSE for real-time updates

- SQLite - State persistence & log indexing

- subprocess - Docker CLI wrapper (no SDK dependency)

Frontend

- Alpine.js - Lightweight reactivity for dashboard

- Tailwind CSS - Utility-first styling

- Server-Sent Events (SSE) - Real-time log streaming

CLI

- Typer - Modern CLI framework with type hints

Infrastructure

- Linux/WSL2/macOS - Cross-platform support

- Single-node deployment - No external dependencies


Who is it for?

  • Solo developers running multiple side projects on one server

  • Small teams deploying internal tools without DevOps overhead

  • Anyone learning container orchestration fundamentals

  • Developers who want control without complexity

Issues & PRs Board
No issues or pull requests added.