# Personal infrastructure notes Two repositories back this setup: [**doc**](https://git.lutran.fr/julien/doc) (this one) and [**scripts**](https://git.lutran.fr/julien/scripts) (the cron drivers and their config files, deployed to `/root/scripts` on each host). **Start here**: - [backup-strategy.md](backup-strategy.md) — what is backed up, by which tool, on what schedule, and how to restore. - [new-container.md](new-container.md) — conventions for adding a service to ks4 (and getting it backed up automatically). **Tech notes** - [`nuc/`](nuc/README.md) — home lab on `nuc`: host, storage, instances - [`ks4/`](ks4/README.md) — prod server `ks4` at OVH: host, services, network flows - [`ks2/`](ks2/) — legacy backup server being [decommissioned](ks2/plan.md) - [`archer-c7/`](archer-c7/) — home router (TP-Link Archer C7 v5 running on OpenWrt) ## Conventions - One markdown file per topic in the correct subdir, containing the full implementation notes, configuration, and troubleshooting notes. - Containers are built from Debian/Ubuntu images and configured exclusively through `incus exec`/`incus config` so the doc is the single source of truth — rebuilding = re-running the script. - Adding a service to ks4: follow [new-container.md](new-container.md) (no Docker in containers — incus runs OCI images natively and `incus-compose` handles stacks; data paths go into [`scripts/restic-paths`](https://git.lutran.fr/julien/scripts/src/branch/main/restic-paths)).