Hi, everyone!
For several years, I’ve relied on NextCloud as a substitute for Google services. The time has come to say goodbye and move on in life. I’ve decided to replace my NextCloud instance with separate services for files, calendar, photos, notes, and to-do lists.
I’ve already found alternatives for all services, except for the calendar.
Does anyone have experience with FOSS projects that would allow me to self-host a calendar? I’m looking for something that supports CalDAV, has its own (pretty) user interface (webui), caters to multiple users, and supports multiple calendars.
And if anyone is interested in the alternatives I’ve found for each NextCloud component, here’s the list:
NextCloud Files -> File Browser NextCloud Notes -> Joplin NextCloud Photos -> Immich NextCloud Tasks -> Vikunja NextCloud Calendar -> ???___
Edit:
In the end, I used Radicale software. I deployed it in a docker container and it worked almost right out of the box.
Chiming in for Radicale. Been running it for a couple years. It’s great
https://www.youtube.com/watch?v=teCeDl1DCjs
Just follow this tutorial and you will have Radicale setup via docker. Radicale is lightweight and really does help me to get away with all the caldav/cardav necessities.
I see radicale recomended, but in what ways is it better than nextcloud? I moved to nextcloud for calendar due to syncing issues when sharing calendars. So far it seems to be fine, but this question got me wondering about what can be done better.
The only thing I’ve found that bothers me is that to add someone to the event he needs to also have nextcloud otherwise it gets weird.
- FileBrowser
- Joplin
I’ve been using those two and they’re way faster and more reliable than NextCloud.
I’ve already found alternatives for all services, except for the calendar.
I’m using Baikal for Contacts & Calendar, it provides a generic CardDAV and CalDAV solution that can be access from iOS/Android or some web client like the plugins for RoundCube. Thunderbird also now has native support for CardDAV and CalDAV and it works just fine with Baikal.
So—I will preface this by saying I’d also love for an alternative to Nextcloud that’s faster and more reliable.
For the combo of FileBrowser and Joplin—I used Joplin a bunch in the past so I’m relatively familiar with it, but it’s also been a while and things may have changed—how is it syncing? I seem to remember hooking it up through WebDAV to sync—is that (still?) the case? If so, does that mean that FileBrowser is also exposing a WebDAV server in addition to the HTTP server? Is FileBrowser doing any cross-device syncing at all, or is it as it appears on the surface—just exposing a folder via a URL that you can send/retrieve files from?
The one thing I’d caution with Joplin, and what ultimately pushed me away from it was the portability of the data within it—I didn’t love that I wasn’t ultimately just working with a folder of Markdown, which led me to Obsidian—but don’t let my preferences dissuade you—the best system is the one that works for you—just more of a heads up since at least a few years back the export process was a bit of a pain to get things in a “vanilla” state.
Joplin, and what ultimately pushed me away from it was the portability of the data within it—I didn’t love that I wasn’t ultimately just working with a folder of Markdown
I believe you did miss something, Joplin “stores notes in Markdown format. Markdown is a simple way to format text that looks great on any device and, while it’s formatted text, it still looks perfectly readable in a plain text editor.” Source: https://joplinapp.org/help/apps/rich_text_editor/
You have have a bunch of options when it comes to synchronization:
You can just point it at some folder and it will store the files there and then sync it with any 3rd party solution you would like. I personally use WebDav because it’s more convenient (iOS support) and it’s very easy to get a Nginx instance to serve what it needs:
server { listen 443 ssl http2; server_name xyz.example.org; ssl_certificate ....; ssl_certificate_key ...; root /mnt/SSD1/web/root; # Set your password with: WebDAV htpasswd -c /etc/nginx/.credentials-dav.list YOUR_USERNAME location /dav/notes { alias /mnt/SSD1/web/dav/notes; auth_basic realm_name; auth_basic_user_file /etc/nginx/.credentials-dav.list; dav_methods PUT DELETE MKCOL COPY MOVE; dav_ext_methods PROPFIND OPTIONS; dav_access user:rw; client_max_body_size 0; create_full_put_path on; }
I was already using Nginx as a reverse proxy / SSL termination for FileBrowser so it was just a couple of lines to get it running a WebDAV share for Joplin.
Is FileBrowser doing any cross-device syncing at all, or is it as it appears on the surface
FileBrowser doesn’t do cross-device syncing and that’s the point, I don’t ever want it doing it. For sync I use Syncthing, I just run both on my NAS and have them pointed at the same folder. All of my devices run Syncthing and sync their data with the NAS so this way I can have the NAS working as a central repository and everything is available through FileBrowser.
Not sure it satisfies your requirements but I’m quite happy with Baïkal.
I’m working on one, but it’s not ready. :(
Eventually it will be available as part of my WebDAV server, Nephele. Sorry I can’t help yet.
Please text me when you are done! I am very excited to see the results :)
I recently switched from etesync to a self-hosted solution and didn’t want to install a full Nextcloud on my tiny home server just for that. So I initally tried out radicale as well, but I didn’t like the default user handling (no authentication at all) and the project had been unmaintained until very recently (two weeks ago). I switched to baikal then and I am quite happy with it so far.
I’ve never used Radicale, but I just looked it up and the homepage talks about enabling authentication. It also supports auth via reverse proxy headers, which is great for anyone who wants to use Authelia, KeyCloak, or another similar solution. By contrast, as far as I can tell, Baikal doesn’t support reverse proxy auth, though it does seem to let you set up auth through the web interface.
The problem with separating Calendar + Mail + Contacts is that they work best together. Although to be far I am not aware of an open-source system that effectively combines them.
Calendar event invites an updates go over mail. So you want your calendar application to automatically be able to get those. Also options like “automatically add invites from contacts to my calendar” is an awesome feature. Contacts can also be used for spam filtering (although this integration is a bit easier to do externally).
So currently I am using Nextcloud (self-hosted) although I don’t really like it because it is pretty slow on my low-powered VPS. But even still it doesn’t actually have proper email integration. There are bugs open and slowly moving but I’m still using Thunderbird to process most of my calendar stuff.
Not to mention JMAP which is slowly progressing which would be a huge improvement, especially for mobile clients. It also combines these three services.