https://github.com/cycneuramus/homelab
A homelab of self-hosted services orchestrated by Nomad
https://github.com/cycneuramus/homelab
hashicorp-nomad homelab nomad podman renovate
Last synced: 3 months ago
JSON representation
A homelab of self-hosted services orchestrated by Nomad
- Host: GitHub
- URL: https://github.com/cycneuramus/homelab
- Owner: cycneuramus
- Created: 2023-09-02T13:49:31.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-17T13:36:33.000Z (3 months ago)
- Last Synced: 2025-02-17T13:38:11.767Z (3 months ago)
- Topics: hashicorp-nomad, homelab, nomad, podman, renovate
- Language: HCL
- Homepage:
- Size: 197 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
- Changelog: changedetection/changedetection.hcl
Awesome Lists containing this project
README
## Overview
This repository contains the skeleton files for a homelab of self-hosted services orchestrated by [Nomad](https://nomadproject.io). The infrastructure is similar to the one provisioned by [ansible-hybrid-cloud](https://github.com/cycneuramus/ansible-hybrid-cloud/tree/homelab-only).
### Highlights
+ Containerized workloads using rootless [Podman](https://developer.hashicorp.com/nomad/plugins/drivers/podman) as the task driver
+ [Caddy](https://caddyserver.com) as [L4](https://github.com/mholt/caddy-l4) and L7 reverse proxy with [full automation](https://github.com/cycneuramus/homelab/blob/master/caddy/Caddyfile.tpl) by means of [Nomad service discovery](https://developer.hashicorp.com/nomad/docs/networking/service-discovery) templating
+ [HAProxy](https://www.haproxy.org/) as [internal load balancer](https://github.com/cycneuramus/homelab/blob/master/haproxy/cfg-haproxy.cfg) for infrastructure services
+ Highly available [Garage S3](https://garagehq.deuxfleurs.fr) deployment with [JuiceFS](https://juicefs.com) mounts connected to a [KeyDB](https://docs.keydb.dev) cluster over UNIX sockets for distributed storage
+ Highly available [PostgreSQL](https://www.postgresql.org) database cluster using [Patroni](https://github.com/zalando/patroni)
+ All services aside from the reverse proxy are closed to the outside world, communicating only over a private Wireguard mesh network### NOTE
The Nomad job definitions will contain references to various environment and configuration files which are either not included in this repository or have had sensitive values encrypted with [sops](https://github.com/getsops/sops).