While nextcloud is awesome, it is a big overkill if you only need a calendar. Another solution might be to set up a CalDAV server and use clients on your devices to sync with it.
The first one that shows up on Google is https://radicale.org/. But I have no experience with it, so I can't say anything about it.
For clients you can use for example thunderbird on the desktop (multiplatform) and DAVDroid on Android (it's free on fdroid).
I set up nextcloud last weekend in a LXD container, it was easy as pie. Whole thing took maybe an hour. Only thing making problems was my nginx reverse proxy, that took a bit longer to solve, but so far it runs great. Calendar and contacts sync works like a charm now, I use DavDroid on Android to sync them.
If you don't want the full nextcloud route then maybe something like radicale? I haven't used this myself, but if you just wan't a caldav server then I think this one should do it?
Honestly, if you need separate user accounts and want something super easy to setup that has almost everything you’re needing at the cost of having almost no frontend and ui (can only create and delete categories but not individual events/tasks), check out Radicale. You’ll still need to fetch from your work caldavs with a separate app but that could probably done using something like wget with a credentials file set on a cron job that pings the server, checks for a file change, and then copies over changed files.
I don’t necessarily like doing things the hard way but do like DIY solutions in case the apps I use stop working or I find a unique circumstance where it’d come in handy.
Exporting the calendar to an ical file and importing it somewhere else can "synchronize" your calendar. But that is definitely not liable for a continuous synchronization.
Depending on how tech-savvy you are, you might get off by trying out Radicale.
No, seafile does not support calendar and contact sync.
Where did you find this information? At least https://www.seafile.com/en/features/ does not list it.
As a very lightweight alternative for calendar and contact sync, I use https://radicale.org/3.0.html . It is not very feature rich but might be enough.
> I'm gonna be hurting for a WebDAV server that can handle contacts, calendar
https://radicale.org/3.0.html#getting-started
> and files.
https://nginx.org/en/docs/http/ngx_http_dav_module.html https://httpd.apache.org/docs/2.4/mod/mod_dav.html
I use nginx for files but it's sort of hacky and was a pain to setup. I'd use Apache but I didn't want 2 web servers running at once since all my web stuff is hosted via nginx.
Not familiar with Fruux, but I found Thunderbird worked fine for syncing CalDAV with Radicale. Definitely a pain that the email client can't be disabled though. As a workaround, I set up my email account on it, then in Account Settings > {Account name} > Server Settings, you can disable "Check for new messages at startup" and "Check for new messages every x minutes", so that mail stops syncing. Haven't figured out a way to close the Mail tab, but at least it's not notifying me of anything.
I am not a shared calendar user but I keep abreast of Linux related developments. To my understanding NextCloud has a CalDav supported calendar.
There also is an "old school" approach with Radicale.
Looks like this might work: https://radicale.org/3.0.html
You could run that on some always on computer. So it would host the calendar. Raspberry pi computers are like $40 bucks and are perfect for this kind of thing and there are tutorials out there for raspberry pis running this.
Then you would need a calendar application that sync with caldav. Simple calendar looks like it has the functionality on Android.
Thanks for the recommendation I've seen EteSync before but never got round to installing it and trying it out.
Just got a RaspberryPi4b though and am in the process of setting that up so may give it a whirl on that.
I've tried playing around with Radicale and got it installed on a server and could view the WebUI but could never get a client to succesfully connect.
well, back when I had to set it up I just followed the regular documentation on the website: https://radicale.org/3.0.html#documentation
[server] # Bind all addresses hosts = 0.0.0.0:5232, [::]:5232
the value before the comma is the ipv4 binding, the stuff after the comma is for ipv6.
I use a combination of automagic4android script [i] and tts (text-to-speech) on my phone.
Every morning when I turn off my alarm, a automagic script reads out my calendar for the day (among other things).
As long as the birthdays are in your calendar (i.e. a yearly all-day event) you're reminded when you wake up that day.
And, I run my calendar locally via radicale [ii].
I use Radicale as my tasks, calendars and address book server to synchronize all the things between my laptop, tower and phone.
I have no idea whenever you can easily export / import all the things you have on Google Tasks.
A lot of these will come down to preference. For example: I prefer Exim to Postfix due to its flexibility (but I do not necessarily think it is "better", and Postfix has a somewhat better security record).
If I can make one suggestion: use Rspamd instead of SpamAssassin. Rspamd is very flexible (which also is a drawback: it is more complicated) and can do all kinds of things for you, like greylisting, DKIM signing, etc., that you would need separate tools for when using SpamAssassin. Last time when I considered setting up SpamAssassin, while certainly not useless, I found the project's age apparent, in many ways, and after some tuning and configuration Rspamd has been performing a lot better. Its documentation is not the best I have ever seen though. Do use a local (caching) DNS server, as many blacklists/whitelists have rate limits that allow for "personal use" (i.e. your ISP's DNS server IPs will almost certainly be blocked by most of them, most, if not all of the time).
Dovecot is a good choice, in my opinion. Nextcloud works, but may be a bit big for just CardDAV/CalDAV. Once set up it is easy to administer though and alternatives like Radicale are somewhat spartan. Roundcube is OK, but does not come with a pretty mobile UI (at least not by default).
Good luck with your project!
Leave Google and go full CalDAV. Google is creating its own standards because it has nothing to gain from people using third-party apps. It is unrealistic to expect open-source developers to keep up with its changes.
Here are a few alternatives:
1) Use Posteo.de, which provides ad-free and tracking-free mail, calendaring and tasking for €1 a month. There are other similar services.
2) For paranoid privacy, set up a Radicale server on your desktop and use CalDAV to synchronise when you're within the same local network.
3) The third option is the DecSync+Syncthing combination, which allows you to do away with CalDAV entirely.
You could host a local instance of Radicale for your CalDav (calendar) and CardDav (Contacts) Found a great guide here. Get Davx5 on f-droid to sync and Simple Calendar is a great opensource app. You can add the same in Thunderbird using the Tbsync addon. Alternatively you could use the Caldav / Cardav services of one of the secure email providers.
I don't remember adding a owner-write
section. May be that was in older version. The config to get htpasswd working is below: Ref: https://radicale.org/setup/
[auth] type = htpasswd htpasswd_filename = /path/to/users # encryption method used in the htpasswd file htpasswd_encryption = bcrypt
email: host it yourself, or use 1 of a bajillion email hosting solutions out there, fastmail, migadu, kolabnow, etc
Some of them also host contacts, calendars, etc.
Photos and files, something like nextcloud or freenas.
personally:
contacts/calendar: https://radicale.org/ (on OpenBSD) email: https://www.migadu.com/en/index.html photos: local files on ZFS, no special app, no cloud. files: local files on ZFS, no special app, no cloud.
Similar to Astrisk33's:
About the calendar: you can host your own calendar with contacts support https://radicale.org/. This might not be for everyone but it werks.
Implementing a CalDAV server with Flask seems like a pretty daunting task. It strikes me that it might be less work to run an existing CalDAV server (like radicale), verify that your mobile apps can communicate with it, then connect to that from Flask as another client to do whatever else you need to do (aside from being a place where events are synced to).
What does your configuration look like for your reverse proxy? Radicale uses the default port 5232
Also, there are some important docs pertaining to reverse proxies in the documentation that you should look at.