A standalone Elixir library for building NFSv3 file servers natively on the BEAM — no kernel NFS server, no NIFs.

The whole stack is here, from the wire up:

  • Tahr.XDR — codec for every ONC RPC and NFSv3 data structure
  • Tahr.RPC — the ONC RPC framework (record marking, programs, TCP transport)
  • Tahr.Mount — the MOUNT protocol, against a Tahr.Mount.Backend behaviour
  • Tahr.NFSv3 — the NFSv3 procedures, against a Tahr.NFSv3.Backend behaviour

Implement the two backend behaviours over your storage and any NFS client built into Linux, macOS, or Windows can mount it. See the README for a quick-start example.