top | item 30070319

Moving Google Contacts and Calendar to NextCloud

219 points| neoglow | 4 years ago |selfhostedheaven.com

95 comments

order
[+] amaccuish|4 years ago|reply
Still don't understand how Android doesn't have built-in support for CardDAV/CalDAV. It's built-in on iPhone. And the built-in ActiveSync support has been left to wither and die.
[+] lucideer|4 years ago|reply
It's surprising that it's built-in on iPhone (though unsurprising that e.g. the support built into iCloud is so poorly documented).

Generally, supporting open interoperable standards that make switching providers easy is bad for business, so I'm generally a lot more surprised at where it is supported, rather than at where it isn't.

FWIW I sync my Android data with my iPhone (personal -v- work devices) using the FDroid DAVx⁵ and ICSx⁵ apps, rather than the author's one-time export solution, and they seem to work ok.

[+] pkulak|4 years ago|reply
It's at least seamless by installing a single app, Davx5. Alternate Android distros like Calyxos come with Davx5 pre-installed, so it might as well be built in there.
[+] candiddevmike|4 years ago|reply
Google doesn't want you using anything besides Gmail, plain and simple. Adding an ICS feed is ridiculously complicated--you have to add it on your desktop in Gmail, and the on each phone you have to manually enable the calendar. Why wouldn't they just have the ICS feed enabled by default?!
[+] aaronkaplan|4 years ago|reply
There is CardDAV sync built in to iOS Contacts, but I don't think the person who programmed it actually tried using it. When you create a contact on the iPhone, there's no reasonable UI for putting it in a group (it can be done, but it's ridiculously hard); and only contacts in groups are synced via CardDAV. So in essence you can't create contacts on the phone.
[+] dappersnapper|4 years ago|reply
Wait before you see the implementation of tasks on the google side. If I add a nextcloud tasklist to IOS. Siri can add tasks to it, ez pz. On a google phone there is no way to add tasks to nextcloud tasklists with voice commands. Not so OK google.
[+] mastazi|4 years ago|reply
Same with the built in Mail and Calendar apps in Windows. On my Mac I can connect to my NextCloud/Mail-in-a-box natively but on my gaming PC running Windows I had to install Thunderbird.
[+] troyvit|4 years ago|reply
I embarrassingly have the same problem with Linux. Trying to get the same functionality as gcalcli involves vdirsyncer, khal, and a ton of patience.
[+] hda111|4 years ago|reply
iPhone has *DAV it because iCloud uses it for Calendar and Contacts as well. Android has only EAS because most companies use MS Exchange. There is no need to support CalDAV for the Android develops.
[+] teekert|4 years ago|reply
Nice, I did this too. It's brilliant as backend for my iPhone, except that they are not putting imagemagick into the docker image and so your .heic pictures have no thumbnails and you can't view them. Still looking for solution to that.

One thing, you don't have to expose that mariadb port, all services in a docker-compose file are on the same network unless otherwise specified (and you can address them by their container name, build-in DNS!) :)

Oh and you can super-power it by Using Traefik for https, you just need to add some stuff to your docker-compose.yaml file. Although OP mentions a reverse proxy already, outside of this compose file.

I wrote a bit about this too with more detail, but I'm too afraid that HN will smash my poor Corei3 server :p. I want to get all of it on GitHub at some point, and then share it.

[+] neoglow|4 years ago|reply
Hi Teekert! Thank you for your feedback; I will 'unexpose' the mariadb port in this example. That is one less service open for exploiting! :)

I now about Traefik, but I use the Synology reverse proxy at the moment. I felt that it is not fair to include it in this blogpost, since it is not an open source solution and not truely in the spirit of selfhosting. I plan to make the switch in the future to another reverse proxy like Traefik, Caddy or maybe just Nginx, not sure yet.

Could you give me the link to the blogpost? I might link to it :) Quality conten t must be shared and I think we as selfhosters should make it as approachable as possible for newcomers.

[+] CountDrewku|4 years ago|reply
Yep I'm using Traefik as a proxy for multiple docker containers. Guacamole, pihole, grafana, nextcloud, portainer. Admittedly, I'm not using nextcloud for anything but testing my pixel with CalyxOS right now.
[+] l72|4 years ago|reply
I've used Nextcloud for my Contacts and Calendar for several years now. Works great on my iphone and linux computers (evolution + gnome-contacts/gnome-calendar).

I also use Nextcloud for my Notes/Task Lists (also works great with iphone and evolution), bookmarks, and recipe management.

My only issue with Nextcloud, is I really with they had an LTS release with at least 2 years of support. I have to keep my server moving between major versions pretty much every 4-6 months (you can't skip versions), or the clients which tend to get auto updated (especially on iOS) stop supporting the older server versions.

[+] amiraliakbari|4 years ago|reply
Just today, I received a text message from Google that my account has been disabled. The stated reason is "Spamming". I've been actively using this account as my main email for more than 14 years - back when you Gmail was intive-only. I rarely send any emails, and I'm sure my accounts has sent less than 50 emails in the past year. I don't know how an account with so few sent emails can be marked as spammer by any AI. But it was just the last day that I read the tweet saying files containing a "1" are marked as copyright infringement, so I shouldn't be so surprised.

Like the author I've also seen many such horror stories before, but always thought that wouldn't happen to me. I'm setting up my new email address on my own domain now, and encourage everyone to do the same. I'm still waiting for my appeal, so have not yet exactly checked how many sites I've lost access to because of Google login. Anyways, I will not make the mistake of using Google login or an email with domain not under my control for registering on any site again, even the least important ones.

[+] caseysoftware|4 years ago|reply
I worked for an identity company for years and preached the dangers of social auth.. especially when there is little chance/process for appeal.

If Google kills your account, gmail and youtube are gone. Every social auth account is frozen. No clue what happens to your Android devices but your Play purchases are gone. Your Google Voice number disappears. It's a bad place to be. The story isn't any different for Facebook (Whatsapp, Instagram, Occulus), Apple (icloud, app store), and many many others.

And even then, I'm starting to see the same dangers for any centralized auth provider.

[+] Kaytaro|4 years ago|reply
Just a reminder for anyone not ready to ditch gmail...everyone should at a bare minimum be using https://takeout.google.com/ to export and backup their data if you use any google service.
[+] mos_6502|4 years ago|reply
I landed on a similar approach. Nextcloud is heavy for my purposes, but integrating everything into one service has benefits.

The only feature I miss from Radicale is the built-in support for versioning in Git. It's definitely handy to keep track of/roll back changes to my calendars, contacts, todos, etc on the server.

I wrote a small script [1] that periodically syncs changes from my Nextcloud cal/cardDAV feeds into a Git repository. Sharing it here as a bonus in case it's useful to others.

[1] https://blog.ctis.me/2021/12/31/nextcloud-backer-upper/

[+] francis-io|4 years ago|reply
I tried to set Nextcloud up with Collabora a while ago with docker. The connection was not obvious and had many issues with SSL, networking and DNS. The examples they provide still need a lot of tweaking. Setting up the right Traefik labels was also a big trial and error.

Performance on document editing was a little laggy as well. Its really noticeable when your cursor lags behind what you type.

I'd love if the great folks over at NextCloud could focus on the following, which would really ease adoption:

* A polished, extensive example of a deployment in docker with all the bells and whistles (Collabora, cron, backups) * An env var / config file way to link and setup collabora with nextcloud. No more installing from a gui and typing in endpoints. Please let me config manage this as code! * a more polished initial setup wizard. I remember getting errors trying to specify all the env vars needed to set up the database. It wasn't obvious what was missing. * A polished config for common proxies. Traefik is the obvious choice for docker I think.

I don't want this to come across wrong, I think the Nextcloud project is great! I feel like they could add a little time to the things mentioned above and give it a fantastic on-boarding experience.

[+] jmnicolas|4 years ago|reply
> Performance on document editing was a little laggy as well.

What was the hardware behind? Was it local or in the cloud?

[+] agentdrtran|4 years ago|reply
Cloudron.io will do all of the setup and hard parts for you - well worth the price in my opinion.
[+] chaxor|4 years ago|reply
This is great. I noticed however that they mention that getting kicked off of Google (which apparently is happening *A LOT* now, as nearly every day there's been multiple HN posts stating they have been locked out) - and this is the (much needed) thrust towards self hosting these services.

However, I noticed they left out making a mail solution. This is important and shows just how enormous of an opportunity there is in this space to make a quick, easy simple, self hosted mail solution.

Any protonmail-like self hosted *simple* solutions out there?

[+] l72|4 years ago|reply
While it isn't hosting your own mail, Nextcloud does have some nice webmail interfaces, like rainloop, that can be configured using any imap/smtp server, like a desktop mail application.

My hosting provider has hosted my email for 15+ years (with my own domain), but their webmail isn't super great, especially for my non-techy family. They mostly use the mail app on their iphone, but Rainloop through nextcloud made it really easy for them to check through the web.

[+] sharikous|4 years ago|reply
The issue with mail is that it is supposed to be a reliable service where people can contact you on a multi-year or multi-decade span.

Sure it is fun to self host mail in your Raspberry in the garage. But for many people the reliability of standard providers is a necessity. And that's even without accounting the anti spam filters

[+] mastazi|4 years ago|reply
I did this move about a year ago, in addition I also moved my email from Gmail to a self hosted instance of Mail-in-a-Box.

I never had any issues with either NextCloud or Mail-in-a-Box, I'm pretty happy about those.

[+] neoglow|4 years ago|reply
Interesting; I am quite hesitant to move from Protonmail to a selfhosted mail. How long have you been selfhosting your mail? How do you deal with spam? Are your mails always received at the other end?

Love to hear about this!

[+] iou|4 years ago|reply
I use nextcloud for my card and cal DAV, but I no longer need a lot of the other features of Nextcloud, has anyone else run something like https://radicale.org/v3.html on serverless or something?
[+] encryptluks2|4 years ago|reply
I find NextCloud in itself to be pretty bloated and trying to do too many things with a lot of poor implementations. Syncthing is great for file syncing and there are a few good Cal/CardDAV options. I also find PHP applications incredibly frustrating compared to more simple tools. Vdirsync isn't perfect but being able to backup and sync across providers is awesome and I love that I can view/sync the files natively vs having to routinely backup an entire database and use specialized tools to examine contacts and calendar entries.

I'm hopeful someone will release a simple Go CalDAV and CardDav server, or that someone will contribute to making official packages for CyrusIMAP.

[+] mxuribe|4 years ago|reply
I don't know of any calDav, cardDav servers written in Go, but i have heard of the following popular servers:

* https://radicale.org - written in python.

* https://sabre.io/baikal/ - written in php...which i see that you are not so crazy about...but i note it only because it is quite solid reputation.

I'm curious why would you want a calDav, cardDav server written in Go? Is it for scalability? Or, ease of deployment? I am not judging your preference at all; i'm genuinely curious? Also, separately, i first learned of cyrus imap from a blogpost that FastMail folks posted, but do not much about it (other than it is highly respected as a platform for mail, calendar, contacts)...Is it built in Go?

[+] 1over137|4 years ago|reply
>...there are a few good Cal/CardDAV options

Such as? I've been looking for some...

>I also find PHP applications incredibly frustrating compared to more simple tools.

Really? I find them so much simpler, just stick everything in a folder and point Apache at that folder. No messing about with extra layers like docker.

[+] mythrwy|4 years ago|reply
I've found NextCloud a little buggy. OwnCloud seemed a lot more stable (used it for years). NextCloud has more features and is more secure I guess? But sometimes stuff doesn't work quite right. Auto Upload for phone for instance is hit and miss.

It does seem there are less bugs over the past year or so or maybe I'm just learning to deal with it, but it does seem OwnCloud was more stable.

[+] hallihax|4 years ago|reply
I recently set up NextCloud on a Raspberry Pi and found the process a little more convoluted than I would have liked - but that was mostly because the linuxserver.io image for MariaDB seemed to have some problems during database initialisation which I couldn't figure out. I switched over to use the yobasystems/alpine-mariadb image and that worked flawlessly. I haven't tried syncing contacts or calendar yet but that wasn't really my primary motivation - I just wanted self-hosted files with a nice interface. The NextCloud UX is a little clunky imo but I'm not complaining - it's a great piece of software especially considering the price tag! I also am trying to do open-source everything so it is very attractive in that regard.
[+] omarhaneef|4 years ago|reply
hacker news is the perfect place to come to if you're thinking "is NextCloud the best solution here? Are there others?" because people will tell you.

But looking at these comments, it seems as though NextCloud is, far and away, the preferred choice.

[+] YXNjaGVyZWdlbgo|4 years ago|reply
It's just the pony that does it all there are better services just for cal/carddav or file syncing but then you have 5 services running instead of 1.
[+] zhenbo_endle|4 years ago|reply
Thank you for sharing it! I'll try to migrate all my contact and calendar data from Google and iCloud into a personal hosted server.

Please let me ask a question - does anyone tried to access these data from Thunderbird, or any open-source email client?

Thank you.

[+] thepra|4 years ago|reply
yep, through cloudsync addon I manage the calendar in Thunderbird and sync contacts as well.
[+] estaseuropano|4 years ago|reply
What i miss un articles like this is the server/hardware choice and reasoning for it. The instructions how to setup nextcloud are on the nextcloud homepage, so no reason to repeat them.
[+] neoglow|4 years ago|reply
Author of the blogpost. Thank you for your feedback. The problem with hardware choice, is that many selfhosters have really low-power, budget, powersaving hardware, including myself. The point of this article was for me to discover how I could move some of my data away from Google, of which this is one piece.

I had this running on a Raspberry Pi 4 in this blogpost, which functioned just fine; although only with one user and little apps installed. I might do a follow up when I have used Nextcloud more extensively and explore different hardware options.

[+] YXNjaGVyZWdlbgo|4 years ago|reply
I am running most of my webservices of my unraid nas it runs a cheap passive cooled ASRock J3355B-ITX with 16GB RAM and 2TB SATA Cache with a 80TB JBOD array. All in a really nice compact Fractal Design Node 304. When all HDDs are running it sips 90W at standby 15W.