Ansible role/playbook for NFS-backed Nextcloud deployment
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
| .woodpecker | ||
| roles | ||
| vars | ||
| .ansible-lint | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .markdownlint-cli2.jsonc | ||
| .sops.yaml | ||
| .yamllint | ||
| ansible.cfg | ||
| playbook.yaml | ||
| readme.md | ||
| renovate.json | ||
Ansible Playbook: NFS Nextcloud
Playbook-only repository that configures the NFS server for Nextcloud file sharing by feeding the shares defined in
vars/shares.yaml to the nfs_server role.
Dependencies
| Role | Description | Repository |
|---|---|---|
nfs_server |
NFS server configuration | nfs-server |
The role is installed from roles/requirements.yml (branch main).
Variables
Only one variable is set, shares in vars/shares.yaml, which is loaded by the playbook through vars_files.
See the nfs-server repository for all share keys and defaults.
Exports
| Path | Client IP | Client | Owner:Group | Mode | Options |
|---|---|---|---|---|---|
/srv/nfs/nextcloud |
192.168.10.89 |
nextcloud01.siempie.internal | www-data:www-data |
770 |
rw,no_root_squash,no_subtree_check |
Example
shares:
# nextcloud01.siempie.internal
- name: "nextcloud"
owner: "www-data"
group: "www-data"
mode: "770"
path: "/srv/nfs/nextcloud"
client_ip: "192.168.10.89"
client_options: "rw,no_root_squash,no_subtree_check"
Usage
Run playbook.yaml via Semaphore. The playbook first runs ansible-galaxy install -f -r roles/requirements.yml on
the controller and then includes the nfs_server role on all hosts, so point the Semaphore inventory at the NFS
server.