Refactor README.md
This commit is contained in:
@@ -1,37 +1,29 @@
|
|||||||
# perso
|
# Personal infrastructure notes
|
||||||
|
|
||||||
Personal infrastructure notes.
|
**Start here**:
|
||||||
|
- [backup-strategy.md](backup-strategy.md) — what is
|
||||||
**Start here**: [backup-strategy.md](backup-strategy.md) — what is
|
|
||||||
backed up, by which tool, on what schedule, and how to restore.
|
backed up, by which tool, on what schedule, and how to restore.
|
||||||
[new-container.md](new-container.md) — conventions for adding a
|
- [new-container.md](new-container.md) — conventions for adding a
|
||||||
service to ks4 (and getting it backed up automatically).
|
service to ks4 (and getting it backed up automatically).
|
||||||
|
|
||||||
|
**Tech notes**
|
||||||
- [`nuc/`](nuc/) — home lab on `nuc` (see below)
|
- [`nuc/`](nuc/) — home lab on `nuc` (see below)
|
||||||
- [`ks4/`](ks4/) — prod server `ks4` at OVH (see below)
|
- [`ks4/`](ks4/) — prod server `ks4` at OVH (see below)
|
||||||
- [`ks2/`](ks2/) — legacy backup server being decommissioned
|
- [`ks2/`](ks2/) — legacy backup server being [decommissioned](ks2/plan.md)
|
||||||
(rental ends Sep 30, 2026): [plan](ks2/plan.md)
|
- [`archer-c7/`](archer-c7/) — home router (TP-Link Archer C7 v5 running on OpenWrt)
|
||||||
- [`archer-c7/`](archer-c7/) — home router (TP-Link Archer C7 v5,
|
|
||||||
OpenWrt, `192.168.0.2`, WAN = phone USB tether):
|
|
||||||
[upgrade to 25.12](archer-c7/upgrade-openwrt-25.12.md)
|
|
||||||
|
|
||||||
## Homelab: nuc
|
## Homelab: nuc
|
||||||
|
|
||||||
Incus host on the LAN.
|
Incus host on the LAN.
|
||||||
|
|
||||||
- Host: `nuc` — `192.168.0.3`, Debian 13, Intel Alder Lake-N
|
- Debian 13, Intel Alder Lake-N (iGPU `i915`, shared by both Jellyfin containers) —
|
||||||
(iGPU `i915`, shared by both Jellyfin containers) —
|
|
||||||
bare-metal reinstall: [nuc/nuc-install.md](nuc/nuc-install.md)
|
bare-metal reinstall: [nuc/nuc-install.md](nuc/nuc-install.md)
|
||||||
- SSH: `ssh -i id_rsa_claude root@192.168.0.3` (keys at repo root, gitignored)
|
|
||||||
- Instances are bridged onto the LAN (192.168.0.0/24)
|
- Instances are bridged onto the LAN (192.168.0.0/24)
|
||||||
- USB 4 TB WD Red: ZFS pool `usb4t` — `usb4t/backup` → `/backup`
|
- USB 4 TB WD Red: ZFS pool `usb4t` — `usb4t/backup` → `/backup`
|
||||||
(incus exports, `nuc/` + `ks4/` subdatasets, 1 TB quota) and
|
(incus exports, `nuc/` + `ks4/` subdatasets, 1 TB quota) and
|
||||||
`usb4t/media` → `/srv/media` (media library, shared into containers
|
`usb4t/media` → `/srv/media` (media library, shared into containers
|
||||||
via `shift=true` disk devices; works because ZFS ≥ 2.2 supports
|
via `shift=true` disk devices; works because ZFS ≥ 2.2 supports
|
||||||
idmapped mounts)
|
idmapped mounts)
|
||||||
- NAS: `//192.168.0.10/Shared` (CIFS) — original media source, normally
|
|
||||||
offline; not mountable into containers (idmapped mounts unsupported
|
|
||||||
on CIFS)
|
|
||||||
- Backups: all local instances replicated to the USB pool
|
- Backups: all local instances replicated to the USB pool
|
||||||
(`/root/scripts/incus-copy.sh -p backup -s nucbackup`; replicas
|
(`/root/scripts/incus-copy.sh -p backup -s nucbackup`; replicas
|
||||||
stopped, autostart off) — see
|
stopped, autostart off) — see
|
||||||
@@ -53,8 +45,7 @@ Incus host on the LAN.
|
|||||||
|
|
||||||
Incus host at OVH — public-facing self-hosted services.
|
Incus host at OVH — public-facing self-hosted services.
|
||||||
|
|
||||||
- Host: `ks4.lutran.fr` — `193.70.35.17`, **SSH on port 2233**,
|
- Debian 13, Xeon D-1521 / 32 GiB, 2× 6 TB (OS on mdraid RAID1,
|
||||||
Debian 13, Xeon D-1521 / 32 GiB, 2× 6 TB (OS on mdraid RAID1,
|
|
||||||
ZFS pool `data` on `sda5`) — setup & rebuild:
|
ZFS pool `data` on `sda5`) — setup & rebuild:
|
||||||
[ks4/install.md](ks4/install.md)
|
[ks4/install.md](ks4/install.md)
|
||||||
- SSH: `ssh -i id_rsa_claude -p 2233 julien@193.70.35.17`
|
- SSH: `ssh -i id_rsa_claude -p 2233 julien@193.70.35.17`
|
||||||
@@ -75,7 +66,7 @@ Incus host at OVH — public-facing self-hosted services.
|
|||||||
[ks4/incus-copy.md](ks4/incus-copy.md),
|
[ks4/incus-copy.md](ks4/incus-copy.md),
|
||||||
[ks4/restic-backup.md](ks4/restic-backup.md)).
|
[ks4/restic-backup.md](ks4/restic-backup.md)).
|
||||||
|
|
||||||
## Network flows (nuc <-> ks4)
|
## Network flows
|
||||||
|
|
||||||
```
|
```
|
||||||
nuc — home LAN 192.168.0.0/24 ks4 — OVH 193.70.35.17
|
nuc — home LAN 192.168.0.0/24 ks4 — OVH 193.70.35.17
|
||||||
@@ -108,9 +99,8 @@ fixed endpoint; ks4's incus API is never exposed to the internet.
|
|||||||
|
|
||||||
### Conventions
|
### Conventions
|
||||||
|
|
||||||
- One markdown file per instance in `nuc/`, containing the full
|
- One markdown file per topic in the correct subdir, containing the full
|
||||||
install script (idempotent-ish, run as root on the host), first-run
|
implementation notes, configuration, and troubleshooting notes.
|
||||||
configuration, and troubleshooting notes.
|
|
||||||
- Containers are built from Debian/Ubuntu images and configured
|
- Containers are built from Debian/Ubuntu images and configured
|
||||||
exclusively through `incus exec`/`incus config` so the doc is the
|
exclusively through `incus exec`/`incus config` so the doc is the
|
||||||
single source of truth — rebuilding = re-running the script.
|
single source of truth — rebuilding = re-running the script.
|
||||||
|
|||||||
Reference in New Issue
Block a user