Create tutorials directory with learning-oriented content: - what-is-blumeops: High-level orientation (Reader, AI) - exploring-the-docs: Navigation guide (All audiences) - ai-assistance-guide: Context for AI assistance (AI, Owner) - contributing: First contribution workflow (Contributor) - replicating-blumeops: Overview for replicators Add replication sub-tutorials: - tailscale-setup: Networking foundation - kubernetes-bootstrap: Cluster setup - argocd-config: GitOps configuration - observability-stack: Metrics, logs, dashboards Each tutorial explicitly identifies target audiences and links heavily to reference material rather than re-explaining. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.7 KiB
| title | tags | ||
|---|---|---|---|
| replicating-blumeops |
|
Replicating BlumeOps
Audiences: Replicator
This tutorial provides a roadmap for building your own homelab GitOps environment inspired by BluemeOps. It links to detailed component tutorials for each major piece.
What You'll Build
By following this guide, you'll have:
- A secure mesh network connecting your devices
- A Kubernetes cluster for running containerized services
- GitOps-driven deployments via ArgoCD
- Observability with metrics, logs, and dashboards
- Backup and disaster recovery capabilities
Hardware Requirements
BluemeOps runs on modest hardware. At minimum:
| Component | BlumeOps Uses | Minimum Alternative |
|---|---|---|
| Server | Mac Mini M1 | Any machine with 16GB RAM |
| NAS | Synology DS920+ | USB drive or second machine |
| Workstation | MacBook Air M4 | Whatever you use daily |
You can start with a single machine and add storage later.
The Journey
Phase 1: Networking Foundation
Before deploying services, establish secure connectivity.
tutorials/replication/tailscale-setup
- Create a tailnet and connect your devices
- Configure ACLs for service access
- Set up MagicDNS for convenient naming
This replaces: traditional VPNs, port forwarding, dynamic DNS
Phase 2: Kubernetes Cluster
A cluster for running containerized workloads.
tutorials/replication/kubernetes-bootstrap
- Install minikube (or k3s, kind, etc.)
- Configure persistent storage
- Expose the API securely via Tailscale
BlumeOps uses minikube for simplicity, but the patterns apply to any distribution.
Phase 3: GitOps with ArgoCD
Declarative, git-driven deployments.
tutorials/replication/argocd-config
- Install ArgoCD in your cluster
- Connect to your git repository
- Deploy your first application
- Set up the app-of-apps pattern
This is the heart of GitOps - changes in git automatically sync to your cluster.
Phase 4: Observability Stack
Know what's happening in your infrastructure.
tutorials/replication/observability-stack
- Deploy Prometheus for metrics
- Deploy Loki for logs
- Deploy Grafana for dashboards
- Configure Alloy for collection
Without observability, you're flying blind.
Phase 5: Your First Services
With the foundation in place, deploy actual workloads. BluemeOps runs:
Pick what matters to you. Each service follows similar patterns:
- Create Kubernetes manifests
- Create ArgoCD Application
- Configure ingress routing
- Sync and verify
Phase 6: Backups and Resilience
Protect your data.
- Set up borgmatic for backup automation
- Configure NAS as backup target
- Test restore procedures
- Document disaster recovery
Alternative Approaches
BluemeOps makes specific choices that may not suit everyone:
| BlumeOps Choice | Alternative |
|---|---|
| macOS server | Linux server (more common) |
| Minikube | k3s, kind, or managed K8s |
| Tailscale | WireGuard, Nebula |
| ArgoCD | Flux, manual kubectl |
| Ansible | NixOS, Docker Compose |
The principles (GitOps, IaC, observability) matter more than specific tools.
Getting Started
Begin with tutorials/replication/tailscale-setup - networking is the foundation everything else builds on.
Related
- what-is-blumeops - Understand what you're replicating
- reference/index - See BlumeOps' specific configurations
- contributing - Help improve BlumeOps instead