#!/usr/bin/env bash # Kernel NFS server (privileged, host network). Exports /export read-only. set -euo pipefail EXPORT_DIR="${EXPORT_DIR:-/export}" CLIENTS="${NFS_CLIENTS:-*}" NFS_OPTS="${NFS_OPTS:-ro,sync,no_subtree_check,no_root_squash,insecure,fsid=0}" mkdir -p "$EXPORT_DIR" /var/lib/nfs/v4recovery /var/lib/nfs/rpc_pipefs mountpoint -q /proc/fs/nfsd || mount -t nfsd nfsd /proc/fs/nfsd mountpoint -q /var/lib/nfs/rpc_pipefs || mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs { echo "# generated by dsv41-nfs" IFS=',' read -ra addrs <<< "$CLIENTS" for addr in "${addrs[@]}"; do addr="${addr// /}" [[ -z "$addr" ]] && continue echo "$EXPORT_DIR ${addr}(${NFS_OPTS})" done } > /etc/exports exportfs -rav rpcbind -w rpc.statd --no-notify rpc.nfsd 8 exec rpc.mountd --foreground --no-nfs-version 2 --no-nfs-version 3