Hashi Homelab
is a collection of nomad
recipes related to several Open Source projects that I use on my own Nomad + Consul + Vault
+ Intel Nuc
cluster.
- AlertManager: Alertmanager handles alerts sent by client applications such as the Prometheus server.
- Aleth: Alethio's Light Weight Open Source Ethereum Explorer
- Bazarr: A companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements.
- Besu: An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client.
- Bitwarden: Unofficial Bitwarden compatible server written in Rust.
- Calibre-Web: Web app for browsing, reading and downloading eBooks stored in a Calibre database.
- Deluge: Deluge BitTorrent client.
- Emby: Emby media server.
- Grafana: The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
- Guacamole: Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
- Heimdall: An Application dashboard and launcher.
- IPFS: Peer-to-peer hypermedia protocol.
- Jackett: API Support for your favorite torrent trackers.
- Karma: Alert dashboard for Prometheus Alertmanager.
- Loki: Like Prometheus, but for logs.
- Medusa: Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.
- Mikrotik-Exporter: Prometheus mikrotik device(s) exporter.
- LazyLibrarian: LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs.
- Miniflux: A self-hosted, anti-social RSS reader.
- Mylar: An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents.
- n8n: Extendable workflow automation.
- Nzbget: The most efficient usenet downloader.
- NzbHydra2: NZBHydra 2 is a meta search for newznab indexers and torznab trackers.
- Pgweb: Cross-platform client for PostgreSQL databases.
- PiHole: Network-wide Ad Blocking.
- Plex: Plex media server.
- Postgres: The best SQL database of the world.
- Prometheus: The Prometheus monitoring system and time series database.
- Radarr: A fork of Sonarr to work with movies à la Couchpotato.
- Readarr: Readarr is a ebook collection manager for Usenet and BitTorrent users.
- RetroArch: RetroArch is a frontend for emulators, game engines and media players.
- Sabnzbd: Free and easy binary newsreader.
- Sonarr: Smart PVR for newsgroup and bittorrent users.
- Traefik: A simple to use front-end proxy.
- Transmission: A fast, easy and free Bittorrent client.
- Turbogeth: Turbo-Geth is a fork of Go-Ethereum with focus on performance.
Note: These services are configured towards my necessities so, make sure to review properly each service and adjust accordingly.
Included in this repository there are two packer
images:
nomad
: Allows to configure a cluster of VM server / clients of Nomad clusters.wireguard
: Allows to configure easily a VM for Wireguard to have remote access.
Both images utilizes Packer's Proxmox builder. If you wan't to build them, make sure you have configured correctly your *.json
settings accordingly to your Proxmox machine.
For nomad
image:
$ cd packer/nomad
$ packer build client.json
$ packer build server.json
For wireguard
image:
$ cd packer/wireguard
$ packer build wireguard.json
Note: Review properly the contents of each image as I include certain configurations related to my cluster and you may don't want / need those.
If you have your nomad
cluster ready, to deploy a recipe:
$ make deploy-postgres // or any other supported service
Make sure your .envrc
settings are pointing correctly to your nomad
server. Other commands are available, check out the Makefile
!
Feel free to send a PR to add a new service or to correct any potential mistake you may find.
The initial idea was inspired by the work of perrymanuk in his hashi-homelab
repository.
This project is licensed under the Apache 2.0 license. See LICENSE for more details.