- name: install server specific packages ansible.builtin.apt: pkg: - nfs-kernel-server - rsync - name: make sure the export paths exists ansible.builtin.file: path: "{{ export_root }}/{{ export_share }}/" state: directory recurse: true notify: - restart nfs-kernel-server service - name: make sure the directory to share exists ansible.builtin.file: path: "{{ export_dir }}" state: directory recurse: true notify: - restart nfs-kernel-server service #- name: copy exports files # ansible.builtin.copy: # src: files/nfs_exports # dest: /etc/exports # backup: yes # notify: # - restart nfs-kernel-server service - name: configure exports ansible.builtin.blockinfile: dest: /etc/exports insertbefore: EOF block: | {{ export_root }} {{ root_ipaddr_string }} {{ export_root }}/{{ export_share }}/ {{ dir_ipaddr_string }} notify: - restart nfs-kernel-server service #- name: copy fstab file # ansible.builtin.copy: # src: files/nfs_fstab # dest: /etc/fstab # backup: yes - name: bind mount exported dir ansible.posix.mount: path: "{{ export_root }}/{{ export_share }}/" src: "{{ export_dir }}" fstype: none state: mounted opts: bind # https://salsa.debian.org/andi/debian-lan-ansible/-/blob/master/roles/nfsserver/tasks/main.yml