entrypoint.sh 870 B

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