One-command Nextcloud deployment with Ansible.
-
Bootstrap (installs Ansible + dependencies):
./bootstrap-ansible.sh
-
Configure your server IP:
nano ansible/inventories/prod/hosts.yml
Change
192.168.0.1to your server's IP address. -
Set passwords:
nano ansible/inventories/prod/group_vars/vault.yml
Update these values:
vault_nextcloud_admin_pass: "CHANGE_ME"→ your admin passwordvault_pg_password: "CHANGE_ME"→ your database passwordvault_cloudflared_tunnel_token: "YOUR_TUNNEL_TOKEN"→ your Cloudflare tunnel token (optional)
Then encrypt it:
ansible-vault encrypt ansible/inventories/prod/group_vars/vault.yml
-
Deploy:
cd ansible ansible-playbook playbooks/site.yml --ask-vault-pass
- Local: https://cloud.example.local (self-signed cert)
- Public: Configure Cloudflare Tunnel for cloud.example.com
Done! 🎉