I’m looking for a self hosted calendar that supports multiple users, runs in docker, and is easy to integrate into home assistant and a phone app. Does anything like this exist or should i lower my expectations?
I run Nextcloud for this. Never understood the complaints about it, I find it hard to believe everyone’s so short of CPU power that Nextcloud is anything more than a rounding error running in the background.
There’s half a dozen of us using it for shared calendars, files, and contacts.
Currently around 6TB of files, a couple of hundred or so contacts in the shared contacts list, and many recurring (and one off) events.
Been working perfectly since before Nextcloud forked from OwnCloud.
If you don’t follow their tuning guide, Nextcloud does run very poorly on SQLite and without Redis/caching. Apache also performs significantly worse than nginx + php-fpm.
https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html
It does run very well with Postgres + Redis + php-fpm + OPcache and has been pretty much the center of my selfhosting endeavor since ownCloud times.
The AIO mastercontainer seems to do fine on Apache, but when I had it dockerized myself, I used nginx and it was fine. I really think the main point is using postgres and redis. Mysql isn’t great and sqlite is terribad in the stack.
Fossify Calendar in f-droid and Nextcloud. Termux calcurse-caldav and Nextcloud.
So I understand this correctly, you’re using Fossify Calendar as the phone app that accesses your self-hosted calendar?
I used both radicale and baikal. Both work great. Both support CalDAV and CardDAV, to sync with them you need thr davx5 app on android. I ended up going with radicale because it supports proxy authentication and I can use it with Authelia
When I installed radicale last, i had problems with auth and exposing it. I think either I misunderstood something or it was left as an exercise for the reader. Anyways…
The documentation says what settings you need to enable for it to work. It also says that it takes the remote user in the X-Remote-User header. I use Authelia and it puts the remote user in the Remote-User instead, so i added a middleware to traefik that renames the header to the one expected by radicale. The only problem remaining is that radicale presents the auth page anyway, and you have to login with the same username as the auth header but with any password
The protocol is called CalDAV (and CardDAV for contacts).
Plenty applications exist that can do it on both sides - it’s not like you need a specific client app that fits your specific server app.
FWIW, I find NextCloud too bloated and prefer Radicale for the above mentioned.
And yes, it runs in Docker.
Nextcloud 🤷♂️
I’m using Nextcloud as well, but I’ll admit that it’s probably a bit heavy if all one needs is a calendar.
Definitely overkill for just a calendar app but the great thing about NextCloud is once you spin it up there’s probably an integration for the next 5 FOSS solutions you’re looking for, which means fewer containers to manage in Docker.
Definitely, that’s what I’m doing as well. I’ve found some to be lacking for my needs (e.g. music), but most of them are good enough for most use cases.
You can connect nextcloud to home assistant, I do that
Radicale. I just finished setting it up and with that, I can now finally shut down Nextcloud.
How do you handle shared calendars with radicale?
Why do you want to shut down Nextcloud? 🤔
I had a very old install, migrated from 2016. It broke on nearly every upgrade, where I’d have to invoke some occ command to fix the db. It was more work than was worth having Nextcloud.
Now I have syncthing and radicale.
I have had positive experiences with both Radicale and Baikal. I am not sure about the Home Assistant integration, but they both use CalDAV, so I would be surprised if there wasn’t a way of connecting them. iOS has native support for CalDAV, but Android needs the davx5 app (free on F-Droid).
Tasks.org also works great with CalDAV. On f-droid as well.
I’ve found radicale more stable in my implementation, but both are very good and are pretty similar to use.
If you already have NextCloud/OwnCloud it would be a good to use the Calendar that is already built in, but it doesn’t make sense to install those for a calendar when there are better options available.
I tried both and for some reason Baikal just played nicer. I’m sure either is fine though.
Nextcloud was too bulky for my needs.
Why no container?
Oh I’m sure it runs perfectly fine in a container, it’s just not my preferred setup.
What about a web GUI for calendars? Not nextcloud.
InfCloud. Works well with Radicale, and does contacts, too.
It’s not pretty, but works very well for the 5/100 times I want to check through a browser instead of Calendar app / Thunderbird.
Thanks, i also found this https://github.com/ckulka/infcloud-docker dockerization of infCloud, will try that one when i have time.
I use Radicale för it.
I tried radicale. Nextcloud is easier to manage. That’s what I recommend.
i had radicale working as you describe with home assistant and mobile/desktop apps for years