At Daily Data, we use NextCloud internally, provide a NextCloud instance for clients, and also install/manage private NextCloud instances for clients.
This page is mainly for our clients we install private instances for, so they can plan and manage with minimal reliance on us.
Nextcloud Client has a command line version which can be run from a Unix cron or Windows Task entry. It may not be installed by default when you install the Nextcloud Desktop Client. See https://docs.nextcloud.com/desktop/latest/advancedusage.html (bottom section of that page).
The name of the command is nextcloudcmd, and you can call it with a /? (Windows) or –help (Unix) to get the parameters (describe in the above link also). Basic usage is:
nextcloudcmd --user NC_User_Name --password 'password' --path '/path/on/server' /local/dir/to/sync https://url/to/nextcloud/install
Note: you do not need to use the –path parameter if doing something like sync'ing Documents on your machine to Documents on the nextcloud account.
I like to install from source instead of getting the older version from my operating system. This allows me to keep my installation fairly recent, though you will need to manually install the php libraries required.
Nextcloud has some great instructions at their admin manual, https://docs.nextcloud.com/server/stable/admin_manual/installation/index.html.
In both cases below, you will need to create the database before performing the tests. Open mariadb (command mysql), then enter the following command to create the database and user. Save your username, password and database name for the installation process.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost'; FLUSH privileges;
unzip /path/to/zipfile.zip ; chown -fR www-data:www-data *
For browserless installation, you can use the built in occ command to do the installation. See https://docs.nextcloud.com/server/stable/admin_manual/installation/command_line_installation.html
Upgrading a Nextcloud installation from the browser is fraught with problems. Maybe it takes too long to do the upgrade and the web server times out the process. Maybe there is an unknown error that doesn't get reported.
If you have manually installed Nextcloud, you can do an upgrade from the command line.
cd /your/nextcloud/installation/directory sudo -u www-data php updater/updater.phar
This will ask a bunch of questions, then do the upgrade. If you want to have no questions to answer, add the –no-interaction flag at the end (I'm not that brave).
See https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui for more info.
Create your users in groups. Even for small organizations, create a single group and put everyone in it. This will allow you to quickly share calendars, contacts and directories by sharing with a group, instead of individual members.
For more complex setups, create multiple groups based on usage. For example, if you have a NextCloud instance that will have accounting, sales and production, each may have separate calendars, file shares, etc…, so create a group for each. One of the powers of NextCloud is that simply adding a user to a group gives them immediate access to all resources available to that group.
Note that users may be a member of multiple groups, so someone who is a member of the accounting and sales groups has access to all resources allocated to both groups.
If you have shared resources, ensure they are owned by a permanent user. In many cases, creating a separate “accounting” user (not a real person) and having them as the owner of the accounting calendar, contact list and file shares may be more effective than having them owned by an individual user.
In the web UI, click on the calendar icon to view your calendars.
If you have another calendar program that can export/import CalDAV entries, you can manually move your information between NextCloud and the other application. This is most useful if you are moving from/to a different calendar program.
The calendar will now show up on other users web interface, and can be added to their external devices
In most cases, you can enter the URL of the nextcloud instance and add it to a caldav app. The app will then use your username to determine the correct base URL's for all calendars, then allow you to choose from the list of available calendars to you.
However, clicking on Calendar Settings (lower left, gear box) brings up a menu which allows you to copy the primary CalDAV address, or a special CalDAV address specific to MacOS and iOS.
Additionally, you can click the three dots next to an existing calendar and choose “Copy private link” if you only want the URL for that specific calendar (may not work on Apple devices).
Both of the options above copy the URL's to the clipboard.
HINT: clicking the More button gives you a detailed form where you can fill out a lot of detail, including making the event recurring.
As of this writing, NextCloud has officially entered a collaboration with Outlook CalDav Synchronizer. This add-on for Microsoft Outlook has been available for several years, and matured into a product that is simple enough for an end user to install from the instructions available at https://nextcloud.com/blog/nextcloud-offers-caldav-synchronizer-for-outlook-users/ in most cases.
This addon will synchronize Calendars, Contacts, or both from one or more resources. Refer to https://nextcloud.com/blog/nextcloud-offers-caldav-synchronizer-for-outlook-users/ for details.
NextCloud can be used to send files as link attachments. The actual file is not sent. Instead, the file is uploaded to the NextCloud server (if necessary) and an e-mail generated giving the recipient direct access to the file. This allows large attachments to be sent to multiple users with only one file upload.
Note that attachment link may optionally be protected by a password and/or an expiration date to protect sensitive information.
Information on how to implement this will be added here as needed.
Android users (including ChromeOS) can have their contacts and/or calendars sync'd with their device using DAVdroid or DAVx5, both available from the Google Play Store. DAVx5 is also available on F-Droid.
Android users can also access their files remotely by installing the NextCloud Android App, available in the Google Play Store and F-droid. The app allows you to upload/download files from your NextCloud account, and in some cases, edit them.
Android users can also install the NextCloud Notes app for quick notes, and the NextCloud Password app for storing passwords. Both of these rely on the appropriate modules being installed on your NextCloud server.
iOS has DAV built into it and in most cases, no additional apps are needed. The following instructions are taken from https://docs.nextcloud.com/server/19/user_manual/pim/sync_ios.html.
Your calendar will now be visible in the Calendar application.
You should now find your contacts in the address book of your iPhone.