Liberate your privacy. Sync your personal data with NextCloud and Android

Posted on 2017-09-27. Last updated on 2020-06-03.

If you are tired of giving your personal data like contacts, calendar events, and files to Google or Dropbox, you can easily connect your Android phone to your own hosted server to utilize syncing with free and open-source software.

NextCloud and OwnCloud are two software options that are available to self host on a web server and utilize for file syncing and DAV syncing options.

This guide will focus on the Android client side of this project. I hope to eventually do a guide on the server / host side of this.

Note: I've since abandoned this configuration in favor of DecSync, a decentralized and much simpler solution.

A note on telemetry and data collecting

To truly remove Google services and manufacturer telemetry from your Android device you will need a device that allows you to flash the recovery partition. On many devices, you can install an alternative Android distribution such as LineageOS to replace the stock operating system on your phone. This is usually the only option available to take control of your phone and remove apps like Google Play Store and other Google services from your phone. There are a few manufacturers and phones that all you to do this. This guide assumes you have such a phone and are running an Android distribution like this.

The Server Side of things

My server is running a web-server with a NextCloud installation. The NextCloud installation is setup with the following add-ons: Files, Contacts, Calendar, Tasks, and News.

The Android Side of things

Operating System: LineageOS

Software Repository: F-Droid

The software repository I'll be using is F-Droid which is a free and open-source repository available for download and installation to most Android devices.

The Applications:

Open F-Droid on your Android device and install the following applications: NextCloud, OpenTasks, DavDroid, and OCReader.

Files

Open the NextCloud App. Then enter your server address for your domain and Nextcloud installation. Then enter your credentials. Allow NextCloud access to your storage. The file syncing is now portion of your device is now setup. You can customize it further to your liking.

Contacts + Calendar + Tasks

Open the DavDroid application from your app drawer. Then select "Login with URL and user name". Enter your server URL as follows:

https://$domain/remote.php/dav/addressbooks/users/$username/

Replace "$domain" with your cloud server's domain name and path.

Replace "$username" with your NextCloud username.

Then enter your username, and password then press "Login". DavDroid should detect your Dav services and give you the option to choose what you want to call the Account and then choose "Groups are per-contact categories". Then continue.

Next, choose the section you just named and select your CardDAV contact groups, and CalDAV calendar groups that you want to add. Once you've selected them all press the refresh button at the top right of the screen (two arrows in a circle).

You may need to accept permissions to grant to the DavDroid application in the notification tray in Android.

Go to your Android Settings --> Accounts --> Then your DavDroid entry. In the top right, tell it to sync now. Your contacts, calendars, and tasks will begin to populate with the data from your server.

News

Open the installed OCReader application on your phone. Enter your server address, user-name, and password, then press the "Sign In" button. You RSS feeds will populate into your device.

There are many other applications and NextCloud apps you can sync to each other.

If you have any comments, corrections, or feedback, please feel free to email them to me.