Table of Contents
Although you find this in the Applications section, this is certainly not an application. It is actually a complete solution consisting of the integration of several applications. I call it Independence because this makes you a little more independent from providers like Google and their data mining.
This solution will enable you to have a central calendar and address book (contact list) and share them between your desktop installations of Thunderbird, the web interfaces of Nextcloud/ownCloud and Roundcube and finally even your (Android) mobile phone. It may of course also work with other applications and iOS but I have not tested that.
If you use all of this in combination with the most excellent ISP mailserver solution, you reach a great deal of independence.
Although strictly speaking his site is aimed at personal use, this could even be interesting for small companies.
Next to the earlier mentioned mail server solution, the basis for this to work well is an installation of either Nextcloud or ownCloud and its CardDAV/CalDAV capabilities.
I will not explain the installation and configuration of Nextcloud/ownCloud here as these products are well documented. However, you should be aware of a few prerequisites:
- All steps described here are based on Nextcloud. At the time of writing this is still interchangeable with ownCloud, but that could change in future.
Personally I prefer Nextcloud because some nasty ownCloud bugs are fixed in Nextcloud and also it offers some more nice features.
- The applications “Contacts” and “Calendar” need to be activated (they are deactivated by default).
- It is advisable (though not necessary) to do some performance tuning. This mainly involves having a well tuned database server (mysqltuner and table defragmentation/optimization can help) as well as using memcache/Redis.
This will enable you to share your calendar not only between your desktop, the web and your mobile device, but even with friends or family members, whoever you give access.
As mentioned earlier, the calendaring app needs to be enabled.
Next, you have to find out the link for your calendar, To do this go to your Nextcloud webinterface to the calendar app. In the lower left corner you have a small cog icon (called “Settings & Import”), click that and you will find your “Primary CalDAV Address”
If you don't want to connect to all calendars that are accessible to you, click on the three dot menu next to the calendar you want and chose “Link” which will give you the link to that specific calendar.
The generic link usually looks like this:
Specific calendars have links like these:
Thunderbird with Lightning
To make use of the calendar in Thunderbird Lightning extension. In Debian this is easy to install, just run
apt install lightning and restart Thunderbird afterwards.
Next, follow these steps to connect your Nextcloud calendar.
- Open the calendar within Thunderbird (using the icon or menu).
- Right-click the existing calendar to create a new one.
- Choose “On the network” as your new calendars location.
- Choose “CalDAV” as calendar type.
- Give the location of your calendar. Use the earlier mentioned Nextcloud link to your named calendar (the Thunderbird calendar does not handle the generic URL very well).
- If this is the first time you connect to that WebDAV share, you will be asked for credentials. Use your Nextcloud credentials.
- You can now pick a name and color for this calendar, as well as an e-mail address to use for invitations. Different names and colors are useful when sharing calendars with others.
- Setting up the calendar is now finished.
You can now delete the default (local) calendar if you wish. To create new entries just double-click somewhere in the calendar view, the rest is pretty self-explanatory. Don't forget to also check out the other options!
Thunderbird will synchronize the calendar(s) on startup and shutdown, also every 30 minutes (default setting) while running. If you wish to manually synchronize the calendar(s) right-click on any calendar and choose “Reload Remote Calendars” in the menu, or use the “Synchronize” button. See also the first screenshot above.
You can also add more calenders. e.g. create one shared calendar and one personal calendar for every person in your household.
CalDAV on Android
There are paid apps that add CalDAV support of course. But reading reviews these apps have problems especially with Nextcloud CalDAV connections. If you have any experience with these paid apps please let me know, but as long as I cannot test the apps I will rely on freely available apps for now. These apps are unofficial though.
So I went to look for a workable solution which I can either test first or which is free and I discovered aCalDAV from F-Droid. The installation is pretty straight forward and well documented.
The downside is that you have to allow the installation of apps from untrusted sources. If you are willing to do that and also handle the updates yourself, you will get a FOSS CalDAV connector for your Android phone (and many more FOSS apps) which you can use to synchronize your calendar app with your Nextcloud installation.
You can add your CalDAV account using the “Accounts” option in your Android phone. As opposed to Sunbird here it does not matter if you use the generic link or sync with specific calendars.
Instead of managing your address book in Thunderbird and RoundCube and synchronizing your contacts with your Google account you can also choose to manage your contacts within Nextcloud and then access that address book from Thunderbird, RoundCube and your mobile device. All contacts available everywhere!
As mentioned earlier, the contacts app needs to be enabled.
Next, you have to find out the link for your contacts, To do this go to your Nextcloud webinterface to the contacts app. In the lower left corner you have a small cog icon (called “Settings”), click that and you will find the link to your address book.
Usually it looks like this:
Thunderbird with CardBook
To use the Nextcloud CardDAV address book in Thunderbird you need the extension CardBook (just install it using the integrated Add-Ons function). Although it does not present your data as nice as e.g. RoundCube it is a decent address book and integrates well.
- After installing CardBook, open it using the corresponding icon. Using the Hamburger Menu you can chose “Address Book –> Add Address Book”.
- Chose “Remote” and click Next.
- After validation (using the button “Validate”) you can press Next.
- Give a name and color to the address book, Press Next and believe it or not, you are done already.
Roundcube with CardDAV
If your administrator enabled the CardDAV plugin for RoundCube it is really simple to connect to the Nextcloud address book. Simply go to “Settings –> Preferences –> CardDAV” and enter your credentials like URL, user name and password.
I recommend using a short synchronization interval, not the suggested hour but e.g. 5 minutes (you can edit that after saving).
CardDAV on Android
As opposed to CalDAV there are free CardDAV apps available in the Play Store. Just install any app you want and fill in the credentials you should know by now (URL, user name and password). In the account settings, disable the synchronization of your Google contacts and you are done already. Nice and easy
More comfort on Android
If you don't mind spending a few bucks and want a more comfortable setup of your CalDAV/CardDAV setup on Android I can recommend the app DAVx⁵ (formerly DAVdroid). Just one app for Calendar and contacts, even tasks if you want. Just use your NextCloud username and password ad give
as base URL. DAVdroid will discover everything else automatically. You just have to tell it which address books and calendars to synchronize and you are done.