Ansible role/playbook for NFS-backed Nextcloud deployment
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Simon Cornet 931e4fedda
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
docs: improve readme
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-05 17:28:30 +02:00
.woodpecker chore(package): update cr.simoncor.net/dockerhub/davidanson/markdownlint-cli2 docker tag to v0.23.3 2026-09-20 05:49:15 +00:00
roles feat: initial commit 2026-06-08 15:54:11 +02:00
vars feat: initial commit 2026-06-08 15:54:11 +02:00
.ansible-lint fix: exclude only sops yml files from lint 2026-07-14 16:23:48 +02:00
.editorconfig feat: initial commit 2026-06-08 15:54:11 +02:00
.gitattributes feat: initial commit 2026-06-08 15:54:11 +02:00
.gitignore feat: initial commit 2026-06-08 15:54:11 +02:00
.markdownlint-cli2.jsonc feat: initial commit 2026-06-08 15:54:11 +02:00
.sops.yaml fix: correct sops regex to ya?ml 2026-07-14 16:01:54 +02:00
.yamllint chore: exclude .yml files from lint configs 2026-07-14 16:17:31 +02:00
ansible.cfg chore: sync linting and config files from common 2026-07-14 11:33:15 +02:00
playbook.yaml chore(playbook): run galaxy install only on first host 2026-08-13 08:49:04 +02:00
readme.md docs: improve readme 2026-10-05 17:28:30 +02:00
renovate.json feat: initial commit 2026-06-08 15:54:11 +02:00

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.