No description
  • Nix 73.4%
  • Python 9.1%
  • Shell 7.6%
  • TypeScript 2.8%
  • HCL 1.5%
  • Other 5.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Doridian b78fd57117
All checks were successful
/ deploy (islandfox.foxden.network) (push) Successful in 1m9s
/ deploy (bengalfox.foxden.network) (push) Successful in 1m28s
/ deploy (icefox.foxden.network) (push) Successful in 1m37s
Improve locking around cache
2026-08-12 23:59:23 -07:00
.forgejo/workflows Update https://github.com/astral-sh/setup-uv action to v10 (#145) 2026-08-12 09:09:19 -07:00
mikrotik Add in received header 2026-08-06 15:13:23 -07:00
nix Improve locking around cache 2026-08-12 23:59:23 -07:00
terraform Update Terraform fastly to ~> 9.6.0 (#144) 2026-08-12 09:09:09 -07:00
.gitignore just in case 2026-01-14 20:04:24 -08:00
.sops.yaml Move state local 2026-06-20 13:11:05 -07:00
git-sops Move state local 2026-06-20 13:11:05 -07:00
LICENSE move 2025-10-16 11:14:46 -07:00
README.md Update redfox specs 2026-03-26 18:35:50 -07:00
renovate-local.json Remove UniFi OS Server package 2026-07-26 12:09:04 -07:00
renovate.json chore(reposyncer): update repo baseline (#140) 2026-07-29 07:56:39 -07:00
update-all.sh Oh yeah 2026-06-13 17:26:22 -07:00

FoxDen core

This is the monorepo to control the FoxDen homelab pretty much in its entirety.

A from-zero setup of router, router-backup or redfox is currently impossible. Hence we keep regular backups of those devices around.

I am not sure whether I plan to instrument RouterOS enough to make this possible or not, especially since dynamic portions of RouterOS config, such as DynDNS keys, DNS entries and even firewall rules are already under management.

Machines

BengalFox

  • Locator: Rack; 2U, Supermicro chassis
  • OS: NixOS
  • CPU: Dual Xeon E5-2690v4
  • RAM: 256GB, DDR4-ECC, 2400 MT/s
  • Storage:
    • nix: XFS: RAID1: 2 * 2TB NVMe SSD
    • zhdd: ZFS:
      • RAIDZ2: 8 * 18 TB SATA3 HDD
      • metadata special RAID1: 2 * 1TB SAS3 SSD (partition)
    • zssd: XFS: RAID1: 2 * 3TB SAS3 SSD (partition)
  • Network: 25GbE (SFP28; Mellanox ConnectX-6 Dx)

IslandFox

  • Locator: Rack; Miniforum UM980 Pro
  • OS: NixOS
  • CPU: AMD Ryzen 9 PRO 8945HS
  • RAM: 96GB, DDR5, 5600 MT/s
  • Storage:
    • nix: XFS: RAID1: 2 * 2TB NVMe SSS
  • Network: 25GbE (SFP28; Mellanox ConnectX-4 Lx USB4)

IceFox

  • Locator: OVH
  • OS: NixOS
  • CPU: Xeon D-2141I
  • RAM: 32GB, DDR4, 2133 MT/s
  • Storage:
    • nix: xfs: RAID1: 2 * 480GB SATA3 SSD
    • ztank: ZFS:
      • MIRROR: 2 * 8 TB SATA3 HDD
  • Network: 1GbE (no traffic limit)

RedFox

  • Locator: Vultr
  • OS: MikroTik RouterOS
  • CPU: 1 vCPU "Intel high performance"
  • RAM: 2 GB
  • Storage: vdisk 50 GB NVMe SSD
  • Network: >= 1GbE (max 3 TB traffic)

Router

  • Locator: Rack; 1U, white MikroTik CCR2004
  • OS: MikroTik RouterOS
  • CPU: 4 core ARM64 "AL32400"
  • RAM: 4 GB
  • Storage: 128 MB NAND
  • Network:
    • LAN: 25 GbE (SFP28)
    • WAN: 10 GbE (SFP+)

Router Backup

  • Locator: Rack; 1U, black MikroTik RB5009
  • OS: MikroTik RouterOS
  • CPU: 4 core ARM64 "88F7040"
  • RAM: 1 GB
  • Storage: 1 GB NAND
  • Network:
    • LAN: 10 GbE (SFP+)
    • WAN: 2.5 GbE (RJ45)

TODO: Not-yet automated update cycles

  • Every GitHub release artifact download where upstream does not have a digest (likely big files, currently carvera-controller and njs/acme.js)
  • ZFS Linux kernel lag-behind
  • Kanidm version in nix
  • Anything RouterOS

Notes

  • zfs must be mountpoint=legacy
  • DO NOT use /var/run, always use /run, or the entire OS explodes