my-homelab-configs/bootstrap/host/README.md

43 lines
1.6 KiB
Markdown

# Debian Host Bootstrap
This layer restores the Debian control-plane and personal desktop package set
before the OpenTofu/Kubernetes bootstrap runs.
Fresh Debian recovery path:
```bash
sudo apt-get update
sudo apt-get install -y git ansible sudo
sudo usermod -aG sudo jv
git clone <repo-url> /home/jv/my-homelab-configs
cd /home/jv/my-homelab-configs
ansible-playbook -K -i bootstrap/host/inventory.ini bootstrap/host/playbook.yml
./jeannie up
```
To also restore captured application behavior/configuration, keep the generated
`home-configs.tar.gz` outside Git and pass the generated vars file:
```bash
ansible-playbook -K -i bootstrap/host/inventory.ini bootstrap/host/playbook.yml \
-e @/path/to/debian-pc-ansible-inventory/ansible-vars.yml
```
The playbook:
- configures apt repositories for Docker, Kubernetes, Helm, OpenTofu, and Brave
- installs the captured Debian package set, filtering packages unavailable on
the current Debian release
- installs user-level pipx CLI tools such as `yt-dlp`, plus runtime helpers
such as `ffmpeg` and `nodejs`
- installs Zoom from the upstream `.deb` when requested on amd64
- adds `jv` to expected local groups
- enables core services such as Docker, containerd, kubelet, ssh, cron, and
Bluetooth when installed
- creates homelab persistence directories used by `jeannie up`
- optionally extracts the captured user config archive into `/home/jv`
Secrets and active sessions are intentionally not stored in this repo. Keep
SSH keys, kubeconfigs, SOPS keys, Docker auth, and browser session/password data
in a separate encrypted backup if you want them restored.