No description
  • Nix 73.3%
  • Python 9.9%
  • Shell 7%
  • TypeScript 3.1%
  • RouterOS Script 1.8%
  • Other 4.9%
Find a file
Doridian ad0f47b25e
All checks were successful
/ deploy (icefox.foxden.network) (push) Successful in 1m36s
/ deploy (islandfox.foxden.network) (push) Successful in 1m39s
/ deploy (bengalfox.foxden.network) (push) Successful in 1m56s
/ lint (push) Successful in 2m39s
Remove train threading
2026-03-06 18:26:13 -08:00
.forgejo/workflows Try adding push 2026-01-25 19:40:18 -08:00
mikrotik Lock file maintenance (#66) 2026-03-01 19:17:24 -08:00
nix Remove train threading 2026-03-06 18:26:13 -08:00
terraform Update Terraform aws to v6.35.1 (#68) 2026-03-05 19:00:52 -08:00
.gitignore just in case 2026-01-14 20:04:24 -08:00
IDEAS.md move aropund 2025-12-31 17:31:43 -08:00
LICENSE move 2025-10-16 11:14:46 -07:00
README.md Update README.md 2026-02-12 14:28:50 -08:00
renovate.json We no longer need modrinth checks 2026-03-05 16:04:44 -08: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: 1 GB
  • Storage: vdisk 25 GB NVMe SSD
  • Network: >= 1GbE (max 2 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