Can also check out Nextcloud. Yes, its more overkill than just calendar and contact sync but its not that hard to set up and self-host. It has an interface for you to fix your calendar and contacts graphically and works well with DAVx5.
Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
-
No low-effort posts. This is subjective and will largely be determined by the community member reports.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
are you on android or iOS?
but I have no idea how to use it
Install davx5, connect to radicale, and allow your calendar/contacts access to it.
I'd like to be able to self host my own calendar and contacts. Is radicale appropriate for this?
Yes.
Is it safe to self host a calendar?
Define "safe".
Can a self hosted calendar still send and receive invites to other calendars?
Short answer: no. You are describing caldav/cardav integration with email.
My experience with radicale
https://wiki.gardiol.org/doku.php?id=services%3Aradicale
I currently use it, from android with dav5x (F-droid)
Thanks for the link
I see it doesn't have a dashboard, would I be better off with something like Baikal?
I'm quite basic and only really selfhost cause I don't like big tech, not cause I'm a linux wizz
This is your wiki? I've been there before. Turned up in a search.
Yes it is, written by me by hand 100%...
Zero AI too.. Just old grumpy bashing
Well, thank you for making it public. IIRC, it did help me in a couple things so again, thank you.
Zero AI too
I think you will start to see the 'Zero AI' label starting to pop up on personal blogs and wikis.
Ahahah I like the "zero AI" logo idea, maybe will use AI to create one... :)
Yes I am that bad with graphics
Anyway check the main page of the wiki I explain why I did it.

Thanks! Tomorrow will see to upload to my wiki...
.
Might want to crop it a bit. Go nuts!
It's how you can copy/backup/sync calendar and contacts.
on my phone I installed davx5 which does the copying over to my radicale instance on my server. Then my server backs up my calendar and contacts.
When I get a new phone I can sync all of it over easily. Bonus points, google doesn't have that data.
Is it hard to set up? Sound perfect for what I want, just also seems complicated for my skills haha
Exactly for what you want it for. I've been using it about 3 months. Contacts and calender. It's a real pain to set up. Not straight forward. I didn't a lot of time with ai as could not get my head round the guide.
Yeah I hear you. I've installed it but I have no idea what to do from here. Cant access any kind of dash. I've just learnt it doesn't have a native dash but you need a third party app for that?
Take a look at the config file (/etc/radicale/config). It's extensively commented. Although you barely need to change any defaults for regular use.
Just create an htpasswd file (with htpsswd, apache-tools or just any of the one million available online generators) and edit two lines under [auth] to read type = htpasswd and htpasswd_filename = <the location and file you created>.
And you can start (and enable) Radicale via the systemd service usually included in the installed package. (Or for early testing just start the server manually... radicale starts it with the defaults from the config file. You can also configure everything with parameters but that's an insanely long list (radicale --help if you are interested in seeing them)...)
The webinterface to login will be available (by default settings) under http://localhost:5232/.
All you have to do then is change the config so Radicale listens on the server's IP instead so it's available in in your network. (Plus the usual stuff of making it available from the outside if you need that like for any other sevice)
And any calendar/contact software will bring a wizard that guides you through the process of sync'ing, usually just asking for an address to reach your server, as well as user and password.
EDIT: I looked up the defaults and you can skip all the autehntification stuff in the beginning. By default just anyone can access the webpage at port 5232. So you can just test it and only bother with authentication later (definitely when you plan to make it available from the outside, for example to sync phones).
Follow up questions:
I seed to have created multiple users, how can I manage users?
Does Radicale have a dashboard?
With radicale, do I need to install some other somewhere in order to use it?
No, you just need to install Radicale. That's it. calDAV and cardDAV are widely used formats available as an option with basically any calendar.
Can a self hosted calendar still send and receive invites to other calendars?
Oh, I see your problem. You don't host your calendar. You host a service that is used to synchronise all the regular calendars you already use over different devices.
Or are you at the moment using Google's calendar in browser only?
Baikal was easy to migrate. All i needed to do was to copy the single db file.
I've recently set up Baikal on a cheap shared host. It doesn't even need a dedicated database, it just creates a file-based sqlite db. i've just copied some files to a php webhost and followed the quickstart guide for setup, i'm pretty happy with the result