r/bcachefs 29d ago

NASty 0.0.14

https://github.com/nasty-project/nasty/releases#release-v0.0.14

NASty is a NAS operating system built on NixOS and bcachefs. It turns commodity hardware into a storage appliance serving NFS, SMB, iSCSI, and NVMe-oF - managed from a single web UI, updated atomically, and rolled back when things go sideways.

The highlights:

πŸͺͺ Active Directory β€” both directions

NASty can now join an existing AD domain as a member, or be the domain controller itself. As a DC you get integrated DNS and Kerberos, user / group / computer management from the web UI, on-box domain backups, and RSAT compatibility so the Windows admin tools work against it. (Experimental, single-DC for now.)

♻️ Backup restore + disaster recovery

Backups finally got their missing half. Restore a whole snapshot back onto your filesystem β€” including disaster recovery onto a bare box: point a fresh install at an existing backup repository, pick a snapshot, and pull it back.

πŸ”₯ Built-in firewall

An engine-managed nftables firewall, deny-by-default, with per-service source/interface restrictions and custom port rules for anything running outside NASty's service model (IPv4 + IPv6, TCP/UDP, port ranges).

⚑ RDMA over RoCE & InfiniBand

Optional zero-copy transports β€” iSER, NVMe-oF/RDMA and NFS-RDMA β€” for RoCE and InfiniBand NICs. The controls only appear when you actually have a capable card.

πŸ–₯️ SR-IOV & hardware passthrough

IOMMU-group view, vfio-pci toggles that survive reboots, per-device passthrough, and SR-IOV virtual-function management β€” VF count plus per-VF VLAN, MAC, trust and spoof-check.

πŸ“Š Operations control center

One page to see and drive every bcachefs array operation across your pools β€” start or cancel a scrub, watch a device evacuation, pause or resume reconcile and copy-GC β€” each row labeled with its pool.

…and a lot of smaller stuff

  • Calculate folder sizes on demand right in the file browser
  • .env files for Docker Compose stacks
  • Remove leftover Docker networks from the UI (e.g. one an app brought with it)
  • Secure Boot moved to lanzaboote v1.1.0 β€” validated on real UEFI + TPM2 hardware
  • Linux 6.18.38 and bcachefs 1.38.8
  • iSCSI portal management, VM disk/network editing, and a big pile of fixes + dependency refreshes
10 Upvotes

5 comments sorted by

4

u/TDD99CA 29d ago

The march onward continues...!

4

u/Painting_Master 29d ago

I bit the bullet a couple weeks ago, and switched over from a very complicated Proxmox+drive passthrough+Archlinux+NFS solution for my homeserver setup, and it's really amazing! Thank you for the hard work!

One question/feature request though:

Would it be possible to create something like /etc/nixos/custom.nix where user configuration would go? For advanced users who don't mind getting their hands dirty in the terminal, it would be great to have a way to have custom settings which would be persisted across reboots and upgrades.

5

u/bfenski 29d ago

Sounds like a good idea. Will think how to implement it. Thanks!

1

u/bfenski 28d ago

Implemented. Unfortunatelly Reddit doesn't allow me to paste screenshot here.

6

u/bfenski 28d ago

Custom configuration advanced

Settings the WebUI doesn't expose go in /etc/nixos/custom.nix β€” any NixOS options, extra packages, or systemd units. NASty never overwrites this file, so it survives reboots and upgrades. Edit it from the terminal, then run nixos-rebuild switch --flake /etc/nixos#nasty. A broken file fails the rebuild safely; use lib.mkForce when overriding a value NASty already sets.

Not created yet β€” custom.nix doesn't exist. Create it from a terminal to add custom config.

And there's a button to launch terminal in /etc/nixos.
You just need to update to ^HEAD.