No description
Find a file
2026-08-05 21:18:26 +02:00
.forgejo/workflows refactor(security): move staging age key from forgejo secrets to proxmox snippet 2026-07-17 23:01:44 +02:00
nixos fix: add additional secrets placeholders 2026-08-05 20:31:16 +02:00
opentofu fix: switch arguments 2026-08-05 21:18:26 +02:00
scripts fix: agree with shellcheck 2026-08-05 20:27:32 +02:00
.gitignore feat(gitops): implement native custom gitops solution with webhooks 2026-07-22 21:20:16 +02:00
.sops.yaml chore: add master keys 2026-07-24 18:40:31 +02:00
BOOTSTRAP.md fix: typos and outdated docs 2026-08-05 20:03:58 +02:00
DISASTER_RECOVERY.md ci: add golden image build action and document disaster recovery 2026-07-17 22:07:49 +02:00
flake.lock fix: move flake.nix 2026-08-05 20:14:13 +02:00
flake.nix fix: move flake.nix 2026-08-05 20:14:13 +02:00
NixOS GitOps Migration Specification.md feat(gitops): implement native custom gitops solution with webhooks 2026-07-22 21:20:16 +02:00
README.md docs: update README with project goals and quickstart 2026-07-22 21:23:39 +02:00

Bos55 Homelab (NixOS + Proxmox GitOps)

This repository contains the declarative infrastructure-as-code for the Bos55 Homelab. It leverages NixOS, Flakes, Terraform, and a custom native pull-based GitOps architecture to fully automate the provisioning, configuration, and maintenance of a home server environment.

Goals & Philosophy

The primary goal of this project is Zero-Login. Servers should be treated as cattle, not pets. If a configuration needs to change, it must be changed in this repository.

  • Declarative Infrastructure: Every application, user, reverse proxy rule, and network configuration is defined declaratively using custom NixOS modules.
  • Autonomous Pull-Based Deployments: Nodes autonomously pull updates from this repository via a custom homelab.gitops systemd service, securely offloading compilation to a dedicated Build farm.
  • Instant Webhooks: Merging a Pull Request instantly triggers deployments across the cluster via cryptographic webhooks.
  • Micro-segmented Security: Ephemeral staging environments are completely isolated from production datasets using Proxmox hypervisor-level firewalls.
  • Secret Management: Strict separation between production and staging secrets using sops-nix and age.

Quickstart

If you are setting up this repository from scratch, you must perform the initial bootstrap before the automated pipelines can function.

  1. Bootstrap Keys: Follow the BOOTSTRAP.md guide to generate your offline age master keys and configure Proxmox API access.
  2. Deploy Builder: Ensure the dedicated Nix Builder host is running so other nodes can securely offload package compilation.
  3. Commit & Push: Make your configuration changes to flake.nix or the hosts/ directory, and push to the v2 branch.
  4. Autonomous Deployment: The nodes will automatically fetch the new hash and apply the configuration.

Documentation