Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hestia

Home for your Mac Mini cluster.

CI License: MIT Buy Me a Coffee

Hestia is an open-source cluster management UI for Apple Silicon Mac Minis β€” think Proxmox, but native to macOS and Apple Container.

It gives you a single web interface to manage containers, monitor nodes, and orchestrate workloads across multiple Mac Minis, without Docker Desktop, without heavy daemons, and without licensing fees.

Hestia demo β€” cluster dashboard, node details and live container logs


Why Hestia?

Apple's container tool brings native Linux containers to macOS with per-container VM isolation, sub-second startup times, and zero idle memory footprint. Nomad handles orchestration. But there's no unified UI to manage it all.

Hestia fills that gap.

Feature Proxmox Docker Desktop Hestia
Web UI βœ… βœ… βœ…
Multi-node βœ… ❌ βœ…
Apple Silicon native ❌ ❌ βœ…
Linux Containers βœ… (LXC) βœ… βœ… (Apple Container)
Virtual Machines βœ… (KVM) ❌ βœ… (Virtualization.framework)
Per-container VM isolation ❌ ❌ βœ…
Open source βœ… ❌ βœ…
No licensing fees βœ… ❌ βœ…

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Browser UI                 β”‚
β”‚           (hestia-ui / React)           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚ HTTP / WebSocket
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           hestia-server (Rust)          β”‚
β”‚         Central API + Nomad API         β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚ HTTP                  β”‚ HTTP
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
β”‚hestia-agent β”‚   ...   β”‚hestia-agent β”‚
β”‚  Mac Mini 1 β”‚         β”‚  Mac Mini N β”‚
β”‚  (Rust)     β”‚         β”‚  (Rust)     β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
       β”‚                       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
β”‚  container  β”‚         β”‚  container  β”‚
β”‚  apiserver  β”‚         β”‚  apiserver  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Two Rust binaries:

  • hestia-agent β€” runs on each Mac Mini. Talks to container-apiserver and exposes a local REST API with metrics, container management, and log streaming via WebSocket.
  • hestia-server β€” runs on one node. Aggregates all agents, talks to Nomad, and serves the React UI.

Features

  • Node dashboard β€” CPU, RAM, temperature and container count per Mac Mini
  • Container management β€” list, start, stop, create and delete containers across all nodes
  • Interactive console β€” real pty-backed shell per container, right in the browser
  • Real-time logs β€” WebSocket log streaming per container
  • Image management β€” pull, list and remove OCI images
  • Auth β€” session-cookie login for the UI/API, plus a shared Bearer token between server and agents
  • Nomad integration β€” view and manage Nomad jobs alongside native containers
  • Setup scripts β€” bootstrap a new node with a single command

Security

Hestia ships with basic auth, off by default so local dev stays frictionless: set HESTIA_ADMIN_PASSWORD on hestia-server to require login (session cookie, no external auth provider), and HESTIA_AGENT_TOKEN (same value on every agent and the server) to stop anyone on the LAN from talking to an agent directly. Both scripts/install-*.sh accept these as flags. See hestia-server/README.md for details.

Without them, Hestia is unauthenticated β€” only run it that way on a network you fully trust. There's no RBAC yet (single shared admin login); that's tracked for v0.2.


Stack

Layer Technology
Agent & Server Rust (axum, tokio, reqwest)
UI React + TypeScript
Container runtime Apple Container (apple/container)
Orchestration Nomad
Container format OCI (compatible with any registry)

Requirements

  • Mac with Apple Silicon (M1 or later)
  • macOS 26 (Tahoe) or later
  • container v1.0.0+
  • Nomad (optional, for orchestration)

Project Structure

hestia/
β”œβ”€β”€ README.md
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ architecture.md          # Deep dive on design decisions
β”‚   β”œβ”€β”€ comparison-proxmox.md    # Guide for users coming from Proxmox
β”‚   └── networking.md            # Per-container IP model explained
β”œβ”€β”€ hestia-agent/                # Rust β€” runs on each Mac Mini
β”‚   └── src/
β”‚       β”œβ”€β”€ main.rs
β”‚       β”œβ”€β”€ api/                 # REST endpoints
β”‚       β”œβ”€β”€ container.rs         # container-apiserver client
β”‚       └── metrics.rs           # CPU, RAM, temperature
β”œβ”€β”€ hestia-server/               # Rust β€” central API
β”‚   └── src/
β”‚       β”œβ”€β”€ main.rs
β”‚       β”œβ”€β”€ api/                 # REST + WebSocket
β”‚       β”œβ”€β”€ agents.rs            # Agent registry
β”‚       └── nomad.rs             # Nomad API client
β”œβ”€β”€ hestia-ui/                   # React β€” web UI
β”‚   └── src/
β”‚       β”œβ”€β”€ pages/
β”‚       β”‚   β”œβ”€β”€ Dashboard.tsx    # Cluster overview
β”‚       β”‚   β”œβ”€β”€ Nodes.tsx        # Per-node view
β”‚       β”‚   └── Containers.tsx   # Container management
β”‚       └── components/
└── scripts/
    β”œβ”€β”€ install-agent.sh         # Bootstrap hestia-agent on a Mac Mini
    β”œβ”€β”€ install-server.sh        # Bootstrap hestia-server
    └── examples/                # Pre-configured container stacks
        β”œβ”€β”€ postgres.sh
        β”œβ”€β”€ redis.sh
        └── nginx.sh

Roadmap

v0.1 β€” Containers

  • hestia-agent β€” container list, start, stop, create, remove
  • hestia-agent β€” real-time log streaming (WebSocket)
  • hestia-agent β€” node metrics (CPU, RAM, temperature, disks, uptime)
  • hestia-agent β€” OCI image management (list, pull, delete)
  • hestia-server β€” agent registry, aggregation, action proxying
  • hestia-server β€” serves the UI bundle (single binary in production)
  • hestia-ui β€” Proxmox-style layout (resource tree, tabs, task log)
  • hestia-ui β€” container management + real-time logs viewer
  • Setup scripts for bootstrap (scripts/install-*.sh)

v0.2 β€” Polish

  • Multi-arch OCI image support
  • Container snapshots
  • Scheduled backups
  • Role-based access control

v0.3 β€” Virtual Machines

  • VM creation and management via Virtualization.framework
  • Linux guest support (Ubuntu, Debian, Alpine)
  • macOS guest support
  • VM snapshots and restore
  • hestia-ui β€” VM management (mirrors container UI)

v0.4 β€” Beyond

  • Community scripts and templates
  • Metrics history and graphs
  • Alerting (Telegram / webhook)

Contributing

Hestia is in early development. Contributions, ideas and feedback are very welcome β€” see CONTRIBUTING.md for the dev setup and verification standards.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/your-feature)
  3. Commit your changes
  4. Open a pull request

FAQ

Is there a Proxmox alternative for Apple Silicon Macs? Yes β€” that's exactly what Hestia is: a Proxmox-style web UI for managing a cluster of Apple Silicon Mac Minis, built natively on macOS instead of Linux.

Does Hestia replace Docker Desktop? For running Linux containers on macOS, yes. Hestia uses Apple's native container runtime, which runs each container in its own lightweight VM β€” standard OCI images from any registry work unchanged, with no Docker daemon and no licensing fees.

Can I manage several Mac Minis from one dashboard? Yes. A small agent runs on each Mac Mini and a central server aggregates them all into a single web interface: containers, metrics, logs and images across every node.

Does it work on Intel Macs? No. Apple's container runtime requires Apple Silicon (M1 or later).

Is it safe to expose beyond my LAN? Set HESTIA_ADMIN_PASSWORD (login) and HESTIA_AGENT_TOKEN (server ↔ agent) first β€” see Security. There's no RBAC yet, so treat it as a single-admin tool for now.

Is Hestia free? Yes β€” MIT-licensed, free forever. If it keeps your homelab warm, you can buy me a coffee. β˜•


Name

Hestia is the Greek goddess of the hearth and home β€” the fire that keeps the household running. A fitting name for the tool that keeps your Mac Mini cluster alive.


Support

Hestia is free and open source. If it keeps your cluster's home fire burning, consider fueling mine:

Buy Me A Coffee

License

MIT Β© 2026 Daniel Juarez Moro

About

πŸ”₯ Proxmox-style cluster manager for Apple Silicon Mac Minis β€” web UI for Apple Container: containers, metrics, logs & images across your Mac homelab

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages