My home lab scripts
  • Rust 92.2%
  • Shell 4.1%
  • Jinja 2.8%
  • Dockerfile 0.5%
  • CSS 0.4%
Find a file
2026-10-13 09:20:38 +02:00
cloud-status Retry status check on timeout 2026-09-08 10:35:39 +02:00
config Update some container images 2026-10-13 09:20:38 +02:00
home-lab Update install units to allow pruning removed services 2026-09-09 10:15:56 +02:00
knock Revert debug davx5 errors 2026-06-13 14:51:41 +02:00
scripts Add measure-file script 2025-12-13 19:59:02 +01:00
uptime Makes shutdown faster 2026-09-28 11:14:36 +02:00
.gitignore Allow creating guest link on portal 2025-06-10 22:15:27 +02:00
Cargo.lock Implement our own uptime monitor logic 2026-09-28 09:52:48 +02:00
Cargo.toml WIP 2026-09-28 09:01:42 +02:00
LICENSE Initial commit 2025-04-03 06:32:30 +02:00
mini-ci-deploy.sh Rename mini-ci 2026-02-07 02:56:08 +01:00
README.md Uptime infra 2026-09-28 09:56:49 +02:00
rust-toolchain Update Rust 2025-12-13 19:48:28 +01:00

Home lab

This repo contains my configurations and various scripts for my home lab.

The sub-projects are described below:

config

A bunch of configuration files for the services. Most of them are *.container files using the systemd syntax to run podman containers.

These files are installed using a tool in the home-lab binary explained below.

home-lab

The main binary to handle my homelab. You can check all existing sub-commands using cargo run -- --help.

knock

The authentication service called by Caddy to protect most of my services from the Internet access, while allowing legitimate users to access them from multiple devices. You can read more on the dedicated README.

To deploy it: git push && ssh -4 sitegui@ssh.sitegui.dev ./deploy sitegui/home-lab knock

uptime

A custom-made and simple service that does HTTP health checking of all my homelab services and expose metrics to Prometheus. You can read more on the dedicated README.

To deploy it: git push && ssh -4 sitegui@ssh.sitegui.dev ./deploy sitegui/home-lab uptime

scripts

A collection of assorted scripts that I've used for migration, analysis, and sometimes just fun.

cloud-status

An app deployed in a separate cloud that can monitor my homelab availability from the outside.