hashi-homelab  by perrymanuk

Homelab orchestration with Nomad and Consul

Created 6 years ago
355 stars

Top 78.6% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides a small, lightweight homelab setup based on HashiCorp Nomad and Consul. It's designed for users who want a flexible yet simple-to-maintain homelab, offering a wide array of pre-configured services across categories like AI/ML, media, and observability. The primary benefit is the modularity and portability of individual service deployments, allowing users to pick and choose components with minimal adjustments.

How It Works

The setup leverages Nomad for orchestration and Consul for service discovery and cataloging. Traefik is used as a service mesh with a redesigned HA deployment for robustness. Tailscale is integrated for secure remote access, and CoreDNS handles DNS resolution with HA. Persistent storage is managed via NFS and iSCSI CSI plugins, with services exposed by their task names. The entire setup is designed for minimal resource consumption, with the base lab reportedly runnable on a Raspberry Pi 4 4GB.

Quick Start & Requirements

  • Installation: Requires Nomad and Consul to be pre-installed and running.
  • Prerequisites: direnv for environment variable management (or manual setting). NFS mounts for persistent storage (/home/shared, /home/media) may need adjustment. Tailscale is required for GitHub Actions deployment.
  • Setup: Clone the repository, configure .envrc with environment variables and secrets, and run make deploy-base. GitHub Actions can automate deployments after syncing secrets.
  • Resources: Base setup can run on a Raspberry Pi 4 4GB.
  • Guides: HashiCorp Nomad and Consul production deployment guides are linked.

Highlighted Details

  • Features 77 services across 10 categories, including a comprehensive AI/ML stack (Ollama, Open-WebUI, pgvector).
  • Enhanced observability with Loki and Vector for log aggregation.
  • Modernized Alertmanager with improved persistence and Pushover notifications.
  • HA deployment for CoreDNS and Traefik.
  • Automated Docker cleanup and refined GitHub Actions deployment.

Maintenance & Community

  • The repository is actively maintained, with significant updates in September 2025.
  • No specific community links (Discord/Slack) or notable contributors/sponsorships are mentioned in the README.

Licensing & Compatibility

  • The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

  • Users must have existing Nomad and Consul clusters or follow external guides for setup.
  • Persistent storage configuration (NFS mounts) may require specific adjustments based on the user's client setup.
  • The license is not specified, which may impact commercial adoption or integration.
Health Check
Last Commit

12 hours ago

Responsiveness

Inactive

Pull Requests (30d)
40
Issues (30d)
0
Star History
5 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.