2025-04-21 13:19:17 -04:00
2024-04-15 10:40:25 -04:00
2024-11-14 15:24:02 -05:00

infrastructure

Ansible code used for deploying my home infrastructure

Layout

Almost everything exists on a single host running Proxmox. Proxmox runs the following VMs/containers:

  • jellyfin - Debian LXC running Jellyfin media server
  • plex - Ubuntu Server LXC running Plex media server
  • pve-docker - Alpine LXC running all docker containers
  • haos - Home Assistant OS VM

Having Plex and Jellyfin separate from the rest of my docker infrastructure allows me to easily reboot the docker host and modify other stuff without interrupting any active streams from the media servers.

Host specs:

CPU: Intel i5-10500 (chosen for the Quicksync iGPU which is highly efficient at media transcoding)

RAM: 2x 32GB DDR4

Storage:

  • /: 1 TB NVME SSD
  • /vm_storage: 2x 240 GB SSD in ZFS mirror for config and data files
  • /mnt/storage: mergerfs + SnapRAID pool totaling 56 TB usable storage. Currently single parity disk but hoping to add a second one soon. Drives run btrfs allowing me to utilize snapraid-btrfs for instant snapshotting

Roadmap

  • Flesh out backup strategy with btrfs snapshots and restic (separately)
  • Move everything to Arch VMs on Proxmox
  • Move VMs to an Arch Host with virtiofs
  • Immich for photo management
  • Prosody for XMPP
  • Move forge to forgejo
  • Look into Wazuh for threat prevention/detection
  • GoAccess for web server analytics
Description
Homelab blueprints
Readme 767 KiB
Languages
Python 88.9%
JavaScript 9.7%
Shell 1.4%