= nextcloud = Our [wiki:owncloud nextcloud] installation is running on lucius, which is currently running Debian jessie. The nextcloud application is instatlled from source. == Important details == * The application runs as the www-data user * Directories: * The code is in /var/www/nextcloud. * The data (files) are in /var/lib/nextcloud/data. * Our configuration is in /etc/nextcloud (symlinked from /var/www/nextcloud/config) * We're using the postgres package not the mysql package. If you want to muck around in the database: `su - www-data` and then `psql nextcloud` * We're authenticating using the [wiki:login-service login-service] (web api). * That happens via our own mfplauth app, which depends on the [https://github.com/nextcloud/apps/tree/master/user_external external user auth app] * The admin username (mfpl-admin) and password are in [wiki:keyringer keyringer]. However, try to avoid logging in as mfpl-admin, and if you change any configuration options, /etc/nextcloud/config.php will get overwritten * A 5GB per user quota is set. This is configured by logging in as mfpl-admin and then clicking to administer users. Quotas can be changed on a per user basis. * To fix #8125, we've added our own custom theme called "mayfirst", which is in lucius.mayfirst.org:/var/lib/nextcloud/themes and it is activated via the theme => "mayfirst" line in lucius.mayfirst.org:/etc/nextcloud/config.php. Currently, it only adds a style sheet that simply hides the password change form. * We have committed to maintaining four extra apps, which are installed in /var/lib/nextcloud/apps-local: * [https://apps.nextcloud.com/apps/calendar Calendar] * [https://apps.nextcloud.com/apps/contacts Contacts] * [https://apps.nextcloud.com/apps/bookmarks Bookmarks] (see #10696) * [https://github.com/nextcloud/apps/tree/master/user_external External user authentication] * MF/PL custom auth app (git://git.mayfirst.org/mfpl/mfplauth) * Collobora editing == Upgrading == Steps to upgrade from source: * Visit https://nextcloud.com/changelog/ and download the appropriate version to /root using wget and unpack * Create symlinks that mirror the symlinks in /var/www/nextcloud * If upgrading a major version, backup /var/lib/nextcloud/apps-local and download new versions of all apps in /var/lib/nextcloud/apps-local, replacing the existing apps with the new ones. * Copy /etc/nextcloud/config.php to /etc/nextcloud/config.php.bak * Enter maintenance mode (edit to /etc/nextcloud/config.php) * Backup the database with: {{{ su -c "pg_dump nextcloud" www-data | gzip - > nextcloud.pre.$(date +%Y.%m.%d).backup.sql.gz }}} * Ensure the dump completed successfully: {{{ tail nextcloud.sql }}} * Make a backup of the current nextcloud installation: {{{ mv /var/www/nextcloud /var/www/nextcloud.version.n.n.n }}} * Move the new copy in: {{{ mv /root/nextcloud /var/www/ }}} * Ensure all database udpates have been run, su to the www-data user and then: {{{ su - www-data cd /var/www/nextcloud php occ upgrade }}}