this post was submitted on 14 Sep 2025
77 points (98.7% liked)

Selfhosted

51807 readers
570 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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?

top 43 comments
sorted by: hot top controversial new old
[–] non_burglar@lemmy.world 36 points 1 week ago (3 children)

Radicale. I just finished setting it up and with that, I can now finally shut down Nextcloud.

[–] doeknius_gloek@discuss.tchncs.de 3 points 1 week ago (1 children)

How do you handle shared calendars with radicale?

[–] mr_pip@discuss.tchncs.de 3 points 1 week ago (1 children)

There is a symlink trick on the server side. It's a little annoying that it is only a workaround, but one set up it's great! I was looking for the git issue where i found it, but was only able to find this one (it seems to be documented now).

https://github.com/Kozea/Radicale/wiki/Sharing-Collections

Thank you! I'd wish Radicale would include a dedicated sharing feature, at least there's a workaround.

[–] mikedd@lemmy.world 1 points 1 week ago (2 children)

Why do you want to shut down Nextcloud? 🤔

[–] non_burglar@lemmy.world 3 points 1 week ago

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.

[–] KlavKalashj@lemmy.world 2 points 1 week ago

Not the pne you replied to, but for me it works to add the full path to another users calendar in davx5, and then setting appropriate permissions to it in the rights file.

[–] pedroapero@lemmy.ml 1 points 1 week ago

Agree, very lightweight, simple once-and-forget setup.

[–] Matt@lemdro.id 25 points 1 week ago (2 children)

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).

[–] gedaliyah@lemmy.world 6 points 1 week ago (1 children)

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.

[–] ProperlyProperTea@lemmy.ml 2 points 1 week ago

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.

[–] 0_o7@lemmy.dbzer0.com 5 points 1 week ago

Tasks.org also works great with CalDAV. On f-droid as well.

[–] trk@aussie.zone 21 points 1 week ago (1 children)

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.

[–] domi@lemmy.secnd.me 7 points 1 week ago (1 children)

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.

[–] ikidd@lemmy.world 5 points 1 week ago

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.

[–] handsoffmydata@lemmy.zip 21 points 1 week ago (2 children)
[–] BlueBockser@programming.dev 5 points 1 week ago (1 children)

I'm using Nextcloud as well, but I'll admit that it's probably a bit heavy if all one needs is a calendar.

[–] handsoffmydata@lemmy.zip 5 points 1 week ago (1 children)

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.

[–] BlueBockser@programming.dev 1 points 1 week ago* (last edited 1 week ago)

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.

[–] mhzawadi@lemmy.horwood.cloud 3 points 1 week ago (1 children)

You can connect nextcloud to home assistant, I do that

[–] raldone01@lemmy.world 1 points 1 week ago (1 children)

For what? I use both maybe I should hook them up too. :)

[–] mhzawadi@lemmy.horwood.cloud 2 points 1 week ago

I use nextcloud as my main calendar, I have home assistant pull in things from that calendar to drive automations.

Like if I'm on holiday from work, don't run my standup automation to make desk rise.

[–] a14o@feddit.org 17 points 1 week ago (1 children)

Last time I checked, radicale and baikal were the sensible options. I went with radicale, no regrets, but not in a container.

[–] possiblylinux127@lemmy.zip 3 points 1 week ago (1 children)
[–] a14o@feddit.org 4 points 1 week ago

Oh I'm sure it runs perfectly fine in a container, it's just not my preferred setup.

[–] RedBauble@sh.itjust.works 13 points 1 week ago (1 children)

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

[–] Ohh@lemmy.ml 1 points 1 week ago (2 children)

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...

[–] nshibj@lemmy.world 1 points 1 week ago

I'm a noob and I managed to set it up following mostly these instructions that make user of this docker compose file. I remember I had to do something slightly different, but I managed to figure it out relatively easily. You could have a look at it and see if it helps.

[–] RedBauble@sh.itjust.works 1 points 1 week ago

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

[–] jeena@piefed.jeena.net 10 points 1 week ago* (last edited 1 week ago)

I use Radicale för it.

[–] A_norny_mousse@feddit.org 7 points 1 week ago

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.

[–] black_flag@lemmy.dbzer0.com 5 points 1 week ago (1 children)

I tried radicale. Nextcloud is easier to manage. That's what I recommend.

[–] mr_pip@discuss.tchncs.de 2 points 1 week ago

i don't think the need for a plain calendar warrants a resource monster such as nextcloud.

[–] nickall@feddit.it 4 points 1 week ago

Baikal is another option, light on resources and easy to setup

[–] fireshell@kbin.earth 4 points 1 week ago (1 children)

Fossify Calendar in f-droid and Nextcloud. Termux calcurse-caldav and Nextcloud.

[–] zerodawn@leaf.dance 1 points 1 week ago (1 children)

So I understand this correctly, you're using Fossify Calendar as the phone app that accesses your self-hosted calendar?

[–] fireshell@kbin.earth 3 points 1 week ago

That's right, if Fossify Calendar doesn't support your phone you can get an alternative Etar via DAVx⁵.

[–] cobwoms@lemmy.blahaj.zone 3 points 1 week ago

i had radicale working as you describe with home assistant and mobile/desktop apps for years

[–] Shimitar@downonthestreet.eu 2 points 1 week ago (1 children)

What about a web GUI for calendars? Not nextcloud.

[–] smiletolerantly@awful.systems 2 points 1 week ago (1 children)

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.

[–] Shimitar@downonthestreet.eu 1 points 1 week ago

Thanks, i also found this https://github.com/ckulka/infcloud-docker dockerization of infCloud, will try that one when i have time.

[–] poVoq@slrpnk.net 2 points 1 week ago
[–] Nomad@infosec.pub 1 points 1 week ago* (last edited 1 week ago)

I use sogo for that. Includes a web interface as well as proper authentication mechanisms and sync integration. Is also lightweight and even allows LDAP integration oif you like.

Also caldav support for tasks and events as well as carddav for contacts. Also allows connections to any email account for sharing calendar events and being invited via email.