In a world increasingly dominated by a small handful of tech giants, many people are looking for ways to escape the grasp of big companies like Google and Microsoft. Recently, I've become one such person and began my self-hosting journey using a spare mini PC I had lying around. One of the many services I'm interested in replacing is Google Calendar, and perhaps unsurprisingly, there are quite a few options.
I've spent some time looking at the available options for self-hosting your own calendar, which can be done easily thanks to the CalDAV standard for digital calendar data. There are a handful of server options out there you can set up and use with any CalDAV-compatible client to manage your calendar events privately while keeping them out of Google's sight. I use OneCalendar on Android, and the built-in calendar in Vivaldi to set these up on the client side, but you have other options. Without further ado, let's just jump into the list.

Related
5 calendar apps you should use instead of Google Calendar
Discover and upgrade to a superior Google Calendar alternative
4 Xandikos
Incredibly simple, but it does work
Out of the options I tried, Xandikos is easily the simplest and most plain of the options. The server-side application has next to no UI or features. There's no multi-user support or no kind of management tool available from the server side, but you can add your calendar to your preferred client and start building it from there.

Related
I imported my email, contacts, and calendar from Outlook to Proton and couldn’t be happier
I imported my email, contacts, and calendar from Outlook to Proton and it was easier than I thought.
Xandikos does offer cross-device syncing and it can sync calendar events as well as tasks and contacts. While I could set it up just fine in Vivaldi's calendar client, this service actually didn't work with OneCalendar on my Android phone. Instead, I had to use DAVx5 to sync the calendar to my phone and then expose it to other calendar apps such as Google Calendar, and that seems to work. DAVx5 can also expose tasks to an app like Tasks.org, so if I create a task using Vivaldi on desktop, I can see that task in Tasks.org on my phone, and vice-versa.
There isn't much else to Xandikos — it's just your personal self-hosted calendar, and it gets the job done.
3 Radicale
Now with multiple user support
Radicale is another very simple offering that focuses on just providing the server to sync your calendar and tasks. However, it's a bit more fleshed-out than Xandikos as it does offer support for multiple accounts, and it's still incredibly easy to set up.
If you go the simplest route, Radicale still offers no form of authentication, so anyone can access the calendar for any user. However, it does support multiple users in the sense that entering a new username will just create a new account, even if there's no protection for it. Thankfully, it's not hard to set up a form of authentication, either, using a plain text password file or a tool like htpasswd for storing passwords with encryption.
Much like Xandikos, Radicale can sync calendar events, tasks, and contacts, and it seems to work more seamlessly with any calendar app that supports CalDAV, including the aforementioned OneCalendar. However, most calendar clients I've tried do not support syncing tasks at the same time, so you may need a separate client for accessing your tasks, such as Tasks.org on Android.
2 Baïkal
As straightforward as it gets
Baïkal is a calendar server that supports the CalDAV standard, along with CardDAV for contact storage. On the server configuration side, Baïkal offers some basic administration options, allowing you to create users, calendars, and address books to manage content at a higher level. However, the content of calendars still isn't managed through the Baïkal UI directly. Instead, it's all relayed to the client apps, much like the two options above.
What Baïkal does include out of the box, though, is a proper authentication system for different users. Using the configuration UI, you can create different users with their respective passwords, making it easier to manage who gets access to what calendars. Radicale could also let you do that, but it requires some additional setup that may be more complicated depending on where you're self-hosting it.
Overall, this is a fully-featured calendar server, and I'd say it's the best we've covered so far on this list.
1 Nextcloud Calendar
The most robust solution
As much as a simple calendar server can be great, the integrated solution of Nextcloud Calendar is still my top pick for everything it offers. Nextcloud Calendar is part of the larger Nextcloud ecosystem, which isn't just a server, but also a series of tools and apps that can interface with it. So while you can use apps like OneCalendar to sync with Nextcloud Calendar, you can also manage your events and tasks directly through the Nextcloud dashboard in a browser.
On the server side, Nextcloud Calendar doesn't support tasks by itself, but you can also install the Nextcloud Tasks app, and items with due dates from your to-do lists will appear on the respective calendars in the Nextcloud Calendar UI, so it feels fairly seamless. However, when using other clients, you may notice that tasks don't sync to your calendar because, once again, not every calendar client supports syncing task lists. Again, Vivaldi's built-in calendar is a great exception here, or you may just need a separate app for tasks.
-
Related
How I turned my old PC into a Google Drive replacement with Nextcloud
If you have a second PC available, you can turn it into a Google Drive replacement.
-
There are even more options
These picks are my personal highlights after spending a few days trying to figure out all these clients. I tried to set up even more options, but frankly, some of them are very hard to figure out, so I wouldn't feel right recommending them. Either way, I don't think you can get much better than Nextcloud Calendar, so any other option I could include here would only be an extra.
That being said, any solution for self-hosting a calendar is a great idea if you ask me. I've been moving away from a lot of the traditional cloud providers for services, and I'm happy to have a way to host these things on my own system rather than hand over data to a large company like Google. I recommend checking out the options above, and if you have no idea where to start with self-hosting, it's worth mentioning I only started doing this a couple of weeks ago, so these things aren't too hard to learn.

Related
6 free and open-source apps you actually haven't heard of
Looking for some trustworthy free apps? We've got you covered