[
  {
    "path": "Dockerfile",
    "content": "FROM ubuntu\nENV DEBIAN_FRONTEND noninteractive\nRUN apt-get update -qq && apt-get install -y nfs-kernel-server runit inotify-tools -qq\nRUN mkdir -p /exports\n\nRUN mkdir -p /etc/sv/nfs\nADD nfs.init /etc/sv/nfs/run\nADD nfs.stop /etc/sv/nfs/finish\n\nADD nfs_setup.sh /usr/local/bin/nfs_setup\n\nRUN echo \"nfs             2049/tcp\" >> /etc/services\nRUN echo \"nfs             111/udp\" >> /etc/services\n\nVOLUME /exports\n\nEXPOSE 111/udp 2049/tcp\n\nENTRYPOINT [\"/usr/local/bin/nfs_setup\"]\n"
  },
  {
    "path": "README.md",
    "content": "Docker NFS Server\n================\n\nUsage\n----\n```bash\ndocker run -d --name nfs --privileged cpuguy83/nfs-server /path/to/share /path/to/share2 /path/to/shareN\n```\n\n```bash\ndocker run -d --name nfs-client --privileged --link nfs:nfs cpuguy83/nfs-client /path/on/nfs/server:/path/on/client\n``` \n\nMore Info\n=========\n\nSee https://container42.com/2014/03/29/docker-quicktip-4-remote-volumes/\n"
  },
  {
    "path": "nfs.init",
    "content": "#!/bin/bash\n\n. /etc/default/nfs-kernel-server\n. /etc/default/nfs-common\n\nrpcbind\nservice nfs-kernel-server start\n\nexec inotifywait -m /exports\n"
  },
  {
    "path": "nfs.stop",
    "content": "#!/bin/bash\n\nservice nfs-kernel-server stop\nkill $(pidof rpcbind)\nservice rsyslog stop\n"
  },
  {
    "path": "nfs_setup.sh",
    "content": "#!/bin/bash\n\nset -e\n\nmounts=\"${@}\"\n\necho \"#NFS Exports\" > /etc/exports\n\nfor mnt in \"${mounts[@]}\"; do\n  src=$(echo $mnt | awk -F':' '{ print $1 }')\n  mkdir -p $src\n  echo \"$src *(rw,sync,no_subtree_check,fsid=0,no_root_squash)\" >> /etc/exports\ndone\n\nexec runsvdir /etc/sv\n"
  }
]