d51f2d62b6
Add a top-level README mapping the boxes and a full docs/ tree: topic pages (architecture, networking, deployment), per-site box pages for colony and home with containers nested under their hosts, remote and mobile boxes, the installer, and the home switch fabric reference (folded in from home-switches.md, with AGENTS.md and code comments retargeted to its new home). Box pages carry marked assignment tables that CI regenerates from nixos.allAssignments. AGENTS.md points at the new docs and keeps its terse agent version of the mechanics, referring to the topic pages for depth.
2.7 KiB
2.7 KiB
git
The Gitea VM — source hosting and CI for the boxes (git.nul.ie).
- Source:
nixos/boxes/colony/vms/git/(default.nix,gitea.nix,gitea-actions.nix) - Host: VM on
colony - nixpkgs:
mine
Role
- Gitea (
gitea.nix) — the Git forge atgit.nul.ie(self-registration disabled). Backed by PostgreSQL oncolony-psql(waiting on it vialib.my.systemdAwaitPostgres), LFS enabled, with all object storage (incl. LFS and packages) on MinIO ats3.nul.ie(bucketgitea, onobject; the secret is spliced intoapp.iniat startup). Mail goes out viamail.nul.ie, including the issue-reply incoming-mail poller. - Gitea Actions runner
(
gitea-actions.nix) — one Docker-mode instance (main-docker) on podman (privileged,podmannetwork), with labels fornode:24-trixieand the self-builtgit.nul.ie/dev/actions-ubuntu:26.04images. Runs as a fixedgitea-runneruser (notDynamicUser) so it can read its token; 8 h job timeout; the action cache lives on a dedicated disk (/var/cache/gitea-runner). This runner executes the repo's own.gitea/workflows/ci.yaml. - nginx — terminates TLS for
git.nul.ie(and a default vhost) and proxies to Gitea on:3000. ACME (Let's Encrypt, production) issuesnul.ie+*.nul.ievia the Cloudflare DNS-01 challenge. - podman — local container backend for the runner;
/var/lib/containersis an XFS data disk, and the default10.88.0.0/16podman subnet is allowed to forward.
Network assignments
| Name | Assignment | IPv4 | IPv6 | Domain | Notes |
|---|---|---|---|---|---|
| git-vm | internal | 94.142.241.117/32 |
2a0e:97c0:4d2:11::4/64 |
ams1.int.nul.ie | |
| git-vm-routing | routing | 10.100.1.4/24 gw 10.100.1.1 |
— | ams1.int.nul.ie |
Storage
/var/lib/gitea— thegitLV (repositories, config)./var/cache/gitea-runner— thegitea-actions-cacheLV./var/lib/containers— theociLV (XFS with project quotas). Despite the name this is local to thegitVM and unrelated towhale2'socinetwork.
Notable config files
nixos/boxes/colony/vms/git/default.nix— VM config, nginx + ACME, podman, firewall.nixos/boxes/colony/vms/git/gitea.nix— Gitea itself.nixos/boxes/colony/vms/git/gitea-actions.nix— the Actions runner.