My home lab scripts
  • Rust 92%
  • Shell 4.3%
  • Jinja 2.9%
  • Dockerfile 0.4%
  • CSS 0.4%
Find a file
2026-09-18 19:56:56 +02:00
cloud-status Retry status check on timeout 2026-09-08 10:35:39 +02:00
config Add uptime kuma 2026-09-18 19:56:56 +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
.gitignore Allow creating guest link on portal 2025-06-10 22:15:27 +02:00
Cargo.lock Add timeout to all program spawns 2026-06-13 17:51:25 +02:00
Cargo.toml Go back to job and don't check ipv6 2025-12-23 20:53:01 +01: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 debug davx5 errors 2026-06-13 14:39:07 +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

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.