Home Assistant Add-on: NFS Server
This add-on provides a user-space NFS server based on unfs3, perfect for:
- Mounting Home Assistant folders on other machines on your network
- Sharing media, config, or backup folders over NFS
It is designed to be lightweight and kernel-independent, running entirely in user-space without requiring NFS kernel modules.
Configuration
shares:
- folder: media
allowed_network: 192.168.1.0/24
read_only: false
Parameters
| Variable | Default | Description |
|---|---|---|
shares[].folder |
media |
HA folder to export (media, share, config, backup) |
shares[].allowed_network |
192.168.1.0/24 |
Network(s) allowed to access the share. Comma-separated for multiple (e.g. 192.168.1.0/24, 10.0.0.0/8) |
shares[].read_only |
false |
Whether the share is read-only |
shares[].sync |
true |
Confirm each write before responding. Prevents I/O errors on large file transfers (e.g. rsync) |
You can define multiple shares:
shares:
- folder: media
allowed_network: 192.168.1.0/24
read_only: false
- folder: share
allowed_network: 192.168.1.0/24
read_only: false
- folder: config
allowed_network: 192.168.1.10/32
read_only: true
Installation
- Go to Home Assistant → Supervisor → Add-on Store
- Add this repository (Settings → Repositories →
https://github.com/martemme/HomeAssistantAddons) - Install the add-on, configure your shares and start it
Usage
Once started, mount a share from a client machine.
Example on Linux:
mkdir /mnt/hass-media
mount -t nfs <home-assistant-ip>:/media /mnt/hass-media
Example on macOS:
mkdir /mnt/hass-media
mount -t nfs -o resvport <home-assistant-ip>:/media /mnt/hass-media
Requirements
- Home Assistant OS or Supervised
- Supported architecture:
amd64,aarch64,armv7 - NFS kernel modules are not required (uses unfs3 user-space server)
Notes
⚠️ Always restrict
allowed_networkto your local subnet. Avoid using0.0.0.0/0in production.
Changelog & Releases
Releases are based on Semantic Versioning, and use the format
of MAJOR.MINOR.PATCH. In a nutshell, the version will be incremented
based on the following:
MAJOR: Incompatible or major changes.MINOR: Backwards-compatible new features and enhancements.PATCH: Backwards-compatible bugfixes and package updates.
Made with ❤️ for automation and resilience.