.. | ||
defaults | ||
tasks | ||
templates | ||
README.md |
Nextcloud README
Students and teachers can store their documents, calendars, contacts and photos locally within Nextcloud, which is much like having a (local) version of Dropbox or Google Drive on your very own Internet-in-a-Box.
This Ansible playbook was derived from an earlier ownCloud playbook thanks to Josh Dennis in 2016/2017.
What's Included
The Nextcloud suite is divided into three main categories:
- Nextcloud Files – Enterprise File Sync and Share
- Nextcloud Talk – Calls, chat and web meetings
- Nextcloud Groupware – Calendar, Contacts & Mail
Install It
(1) Set these 2 variable in /etc/iiab/local_vars.yml prior to installing Internet-in-a-Box:
nextcloud_install: True
nextcloud_enabled: True
(2) If you want to access Nextcloud from IPv4 addresses across the public Internet, then also set:
nextcloud_allow_public_ips: True
To further refine Nextcloud access controls based on IPv4 addresses, you can edit /etc/apache2/sites-available/nextcloud.conf
after it's created by this template: /opt/iiab/iiab/roles/nextcloud/templates/nextcloud.conf.j2
(3) Strongly consider also setting nginx_high_php_limits: True
in your /etc/iiab/local_vars.yml, to allocate important RAM/resources to PHP. Of course, enabling this might cause excess use of RAM/disk or other resources if not calibrated to your hardware and network! So after install is complete, verify and evaluate these 6 settings in /etc/php/[ACTUAL PHP VERSION]/fpm/php.ini:
- upload_max_filesize
- post_max_size
- memory_limit (Nextcloud recommends 512+ MB)
- max_execution_time
- max_input_time
- max_input_vars (Moodle 3.11+ requires 5000+ with PHP 8+)
Useful PHP recommendations for these settings (while largely tailored to WordPress, and aimed at very low-end hardware) can be found here: /opt/iiab/iiab/roles/www_options/tasks/main.yml#L53-L133
(4) If you're running Nextcloud 22+ in production, carefully check that Nextcloud's latest formal prereqs (required AND recommended) are included per your community's needs. In places like these:
- https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
- https://docs.nextcloud.com/server/22/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
- https://github.com/iiab/iiab/blob/master/roles/nextcloud/tasks/install.yml
Using It
Log in to Nextcloud at http://box/nextcloud, http://box.lan/nextcloud, http://10.10.10.10/nextcloud (or similar) using:
Username: Admin
Password: changeme
Known Issues
Do not install the Nextcloud News app (an RSS/Atom Feed reader) if your OS is 32-bits: #3069
Future Directions
Going forward, should Internet-in-a-Box consider integrating optimizations (or more!) from these below?
- https://ownyourbits.com/nextcloudpi/
- https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
- https://github.com/nextcloud/nextcloudpi
Please contact us if you can help!