My homelab scripts
Go to file
bain d657960f62 update Caddyfiles to use ENV var and snippets 2023-08-05 15:01:02 +02:00
scripts update Caddyfiles to use ENV var and snippets 2023-08-05 15:01:02 +02:00
DOCS jellyfin: HW acceleration 2023-04-09 13:09:17 +02:00
README.md fix and update scripts 2022-12-31 22:46:38 +01:00
_lib.sh initial commit 2022-12-31 14:23:33 +01:00
run.sh fix and update scripts 2022-12-31 22:46:38 +01:00

README.md

Homelab setup scripts

Everything is homebaked, because it's at my house!

Dependencies

  • python 3, bash, and coreutils

Creating & running scripts

Every script has a directory inside scripts/. They must be ran through the run.sh script.

Usually scripts are checkpointed. Each checkpoint is a function beginning with _ch_. It is then collected and run by calling _run_checkpoints. They will be run in alphabetical order and if one fails, the script will stop execution. You can then make changes, or fix the issue externally, and then run the script again. It will skip all successfully completed checkpoints.

_lib.sh should always be imported at the start of the script. It contains all the helper functions.

See scripts/template for an example.

Unattended?

Not really, but most steps should be automatic

Fully rerun a script

Remove run.checkpoints from the script root directory. This will reset the script's idempotency check. It is just a text file with names of checkpoints that have successfully completed. You can edit it to skip certain parts, or replay them.