My home lab scripts
  • Rust 91.9%
  • Shell 4.3%
  • Jinja 3%
  • Dockerfile 0.4%
  • CSS 0.4%
Find a file
sitegui cee5194ff8 Add timeout to all program spawns
My system was not updating anymore because a call to "podman auto-update" for some reason got stuck.

To increase the robustness of all the scripts, I've added a generous timeout to all `Child::new()`, so that the scripts will fail with a more friendly error, instead of being stuck forever.
2026-06-13 17:51:25 +02:00
cloud-status Adapt cloud-status to lift forgejo shield 2026-06-01 20:57:14 +02:00
config Relax HostDiskMayFillIn24Hours 2026-06-09 14:31:19 +02:00
home-lab Add timeout to all program spawns 2026-06-13 17:51:25 +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.