[HN Gopher] Owning my own data, part 1: Integrating a self-hoste...
___________________________________________________________________
Owning my own data, part 1: Integrating a self-hosted calendar
solution
Author : ColinWright
Score : 285 points
Date : 2025-04-10 12:59 UTC (10 hours ago)
(HTM) web link (emilygorcenski.com)
(TXT) w3m dump (emilygorcenski.com)
| EvanAnderson wrote:
| Baikal looks interesting. I used DAViCal[0] in the past to share
| calendars between a couple of Apple iOS devices. When it worked
| it worked well, but as iOS versions changed it seemed to get
| unreliable and I eventually gave up.
|
| When I do eventually revisit this I am going to look at DAViCal
| again, as well as Radicale[1], and now Baikal.
|
| [0] https://www.davical.org/
|
| [1] https://radicale.org/v3.html
| charles_f wrote:
| I've used Radicale for a long time. It works well. I recently
| moved to next cloud, only because my shared host is handling
| the deployment, and it comes with an integrated web UI, which
| is much less hassle to setup.
| k8wk1 wrote:
| Nextcloud is great.
|
| However, at least in my case selfhosted version is rather
| slow even with enough hardware and recommended tuning.
| ei23 wrote:
| yep. nextcloud and davx5 for android
| emacsen wrote:
| This is _exactly_ the post I 've needed.
|
| I have two calendars, one on my personal server running Mailcow
| (SoGO) and my work calendar with Fastmail.
|
| They don't work together- I've never found a way to get mailcow's
| calendar to work with other tools well, and so I spend time
| syncing between them semi-manually.
|
| I've wanted to de-couple the calendar for a while but the only
| alternative I knew about was Nextcloud, which I think is a bit
| heavy weight.
|
| This Baikal looks great and I can't wait to give it a try. Doing
| this will also allow me to explore changing out Mailcow for
| another self-hosted mail service.
| apitman wrote:
| > I'd imagine you can set this up and run it easily from a NAS at
| home if you want, but I opt to keep my data safely protected in
| Switzerland, so I subscribe to about $100 monthly of server time
| to run my websites and all my integrations
|
| This part confused me a bit. Wouldn't running the NAS at home be
| more safe and secure? Or are they talking about backup safety?
| NoboruWataya wrote:
| I can't say what the OP meant, but I have a similar setup and I
| use a VPS rather than a home NAS for better uptime and
| accessibility and to avoid opening my home network up to the
| world.
| chneu wrote:
| I'm not quite sure what their point is there.
|
| Everything they mention can also be accomplished on a home NAS
| or something with plenty of security. I don't think anything is
| really justified here besides simplicity? Which..this isn't
| that much simpler.
|
| Which..$100/month is pretty expensive for what's basically an
| N100 with support.
| codethief wrote:
| Yeah, I came here to comment on those $100/month. Is that
| server gold-plated? It shouldn't cost more than $5.
| cratermoon wrote:
| It depends on where "home" is and what ISP is available.
| ohgr wrote:
| I started using a paper diary again about a year ago. Turns out I
| wasn't missing much and fitting in the rails of calendaring and
| task management as the vendor (apple) saw fit wasn't really
| helping me. I have two jobs and a large family to coordinate.
|
| Ultimate self hosting that. Also only costs $15/year approx.
| chasd00 wrote:
| One of those little 5 subject spiral notebooks you can pick up
| at the gas station work great. I've had one open on my desk
| next to my computer for the past 20 or so years. Never had an
| outtage, no subscription fees, privacy is pretty good too.
| Requires a pen though but that's about it.
| johnnyAghands wrote:
| Ok unrelated, but I'm looking for a tool for making diagrams like
| that, anyone know what was used on this post? ty
| loughnane wrote:
| Mermaid
| Algent wrote:
| draw.io probably . It's pretty good for a free tool. If you
| lost the xml I think it even work to import directly an
| exported picture (I guess they append the data into it too).
| ralgozino wrote:
| That particular diagram seems to have been generated by
| https://plantuml.com according to the image's metadata
| cratermoon wrote:
| Yes! The EXIF data includes the full plantuml used to
| generate it, under the Plantuml tag.
|
| https://www.plantuml.com/plantuml/uml/VPBFQXmn3CRlynGYzzdUXn.
| ..
| johnnyAghands wrote:
| Wow! That's pretty slick. I've only thought of EXIF data in
| the context of my digital camera.
| cratermoon wrote:
| I believe, though I can't find an unambiguous reference,
| that a tool or user is allowed to define and populate any
| XMP/Exif attribute it wants, within the technical limits
| of attribute/value definition of the relevant metadata.
| Whether or not anything else can read and make sense of
| that metadata is a different problem.
| johnnyAghands wrote:
| wow! didn't even think to look at that! ty!
| codethief wrote:
| Not the tool OP used but Excalidraw is excellent!
| https://excalidraw.com/
| charles_f wrote:
| This is very interesting, but also a lot of work. I've been off
| Google and the likes for maybe 5y now, and what I must say is
| that it's a bit of a struggle to find the setup that works for
| you.
|
| One thing for which I don't have a solution yet, and neither does
| that article seem to address, is how to _send_ invites. My data
| is one next cloud now, so if I create an invite it sends it. But
| if I create a it from a client (eg phone) it doesn 't. The best
| I've found is manually export as ics and send an email myself,
| which ain't great.
|
| Anyone has a solution for that?
| delusional wrote:
| Baikal tries to solve that by sending out the ics for you,
| it'll even accept responses in various formats (inviting to
| calendar events seem to be poorly standardized).
|
| Last I played around with it it all worked, somewhat. It does
| require you to use baikal as your caldav server though.
| eawgewag wrote:
| I honestly prefer a pen and paper planner and just manually
| migrating my contacts over. Meanwhile, my personal gmail is 99.9%
| contacts I have no intention to ever speaking to again.
| XorNot wrote:
| Begging the question why not delete the contacts?
|
| I've been thinking about it: certainly most of the numbers in
| my contacts list are probably invalid by now. But there's
| definitely a delta of finality to going "oh there's like 10
| people I will _ever_ call and that number is only going to go
| down... "
| doublerabbit wrote:
| I suppose it's the same as those who keep 100's of deserted
| discord servers open.
|
| FOMO? That odd chance you may need that contact.
| dariosalvi78 wrote:
| I have Outlook (at work) and Google Calendar (at home) and
| synchronising them through HTTP is completely unreliable. They
| seem to mess the time zone all the time, sometimes they publish
| in UTC, sometimes not, with the consequence of having meeting
| always at the wrong time.
|
| I really don't understand how these 2 major providers cannot fix
| what seems to me such a basic feature.
|
| If using my own system would solve it, I'd do it immediately, but
| I am afraid that it would be just the same: meeting created on
| Outlook and imported with 2 hours difference.
| jofla_net wrote:
| Timezones across google products have been hopelessly broken
| across apps for decades. I'm sure the AI devs will get to it
| tout de suite now tho.
| stackskipton wrote:
| They have little financial incentive to solve it because it
| helps with lock in.
|
| Also, alot of companies actually prohibit syncing between
| personal and work due to data leakage issues.
| smeej wrote:
| This is the kind of thing I think about doing every so often,
| before realizing it would take me a lot more time, energy, and
| money than I'm willing to spend to save 10 minutes once a week
| manually copying my work events from GCal to Etar on my phone and
| vice versa, and both to the weekly dry erase calendar on my wall.
|
| My recurring events are all blocked off on the calendars already
| ("private" for personal events on my work calendar), so it really
| is quite a quick update.
| bob1029 wrote:
| I've been using WritePads and Pilot G2s to keep track of things
| these days.
| eulenteufel wrote:
| Another CalDav server I can recommend is Radicale. It's written
| in python and designed in a pretty modular way, enabling
| authentication and authorization (and more) plugins.
|
| Data is saved in plain text files and I track/backup it using
| git.
|
| Over the time I've accumulated some interesting modifications:
|
| - Authentication runs with pam on the host system.
|
| - To enable sharing of calendars I run a periodic script
| symlinking the calendars to all authorized users. Unfortunately
| this suffers from combinatiorial explosion.
|
| - Using a rights plugin with custom CalDav Attributes and a
| modified web plugin I added support for access Control Lists.
|
| - To enable public calendars you give read permissions to the
| `public` user using ACL. Then a nginx hack gives blanket acces
| for read operations: location /public {
| proxy_pass http://127.0.0.1:{%RADICALE_PORT%}; include
| proxy_params; proxy_set_header Authorization "Basic
| {%RADICALE_PUBLIC_AUTH%}"; proxy_hide_header
| Authorization; add_header Access-Control-Allow-Origin *
| always; add_header Access-Control-Allow-Methods "GET,
| OPTIONS, PROPFIND"; add_header Access-Control-Allow-
| Headers "Depth"; limit_except GET OPTIONS PROPFIND {
| deny all; } }
|
| These public calendars are can be viewed on a web calendar
| (https://gitlab.nomagic.uk/popi/js_calendar_from_ics)
|
| I should probably write a blog post about the setup.
| HumblyTossed wrote:
| Let us know when that blog post goes live... ;)
| ravenstine wrote:
| I know I will probably get pushback over this, but CalDAV
| _sucks_. People say that it 's great and that it's easy; yet if
| that were true there would be way more self-hosted CalDAV
| solutions out there and they would be far more ergonomic than
| what's available. I was not impressed with Radicale. Because
| there's really only one calendar file I wanted to serve to
| myself, I tried implementing my own CalDAV server just for that
| purpose and pretty much gave up because of how unintuitive and
| complicated it was merely to make a single file available. I can
| see why it would be needed if sharing a calendar with other
| people with calendar apps that support CalDAV, but I think it's
| kind of a waste of time if hosting a calendar for one's self.
|
| Instead, initially went with the approach of hosting my
| dynamically updating iCal file in an S3 bucket and using ICSx5 on
| Android to sync with it. No CalDAV needed - just HTTPS.
|
| However, FOSS calendars for Android still suck, and for some
| reason I couldn't get ICSx5 to work within GrapheneOS, so I now
| use almost the same approach but with Proton Calendar which
| happens to support calendars from direct links to iCal files.
| It's not perfect, but it suits my needs enough.
|
| I think the author's approach for using iCalendar format is a
| good one, though what I've discovered is the amount of support
| for various iCalendar features varies drastically between
| calendar software. Rather than dealing with that headache, I
| somewhat gave up and decided to shove most metadata into the
| description field rather than use the respective properties.
|
| EDIT: My use case is software I wrote to grab data from various
| sites (Eventbrite, Meetup, pub trivia companies, public event
| calendars, etc.), filter for only social events I would be
| interested in, and combine them into a single calendar I can view
| in my normal calendar software.
| noirscape wrote:
| I think the core issue with CalDAV (and by extension, the
| protocol it's build on top of, WebDAV) is one somewhat endemic
| with most W3 approved standards: it's way too overengineered to
| do too many things at the same time rather than a lean format.
|
| The result is a protocol that's essentially become a furball of
| different ideas mashed together, which inevitably leads to the
| situation where a lot of services just... don't try to be full
| spec compliant since it's out of scope for what they actually
| want to do.
|
| I don't think I've ever seen a W3 data format spec that didn't
| end up this way, it just _always_ seems to happen. (It doesn 't
| seem to happen with their lower level protocol specifications.)
| tannhaeuser wrote:
| WebDAV is what it is because it's designed (largely by Julian
| Reschke who also took over the HTTP spec from TBL back then I
| believe) to be addable conflict-free and routable without
| complex payload inspection to existing HTTP
| services/practices. Its use of XML can be regarded over-
| engineered, but it follows what was available and considered
| adequate at a time that had much _much_ more consideration
| for interoperability and multi-party buy-in than is even
| conceivable today. I wouldn 't dismiss it so quickly,
| especially considering WebDAV is an IETF RFC not W3C spec to
| begin with.
| mercutio2 wrote:
| WebDAV is pretty darn simple.
|
| It just builds on actual HTTP, i.e. you have to actually
| think about the transport layer in a way that's out of
| fashion now.
|
| And some people don't like XML.
|
| It's certainly true that CalDAV specifically is complicated,
| but... multi user calendaring is intrinsically very
| complicated.
|
| Other systems are not less complicated, they just tend to be
| more vendor specific.
| kridsdale1 wrote:
| I worked on the CalDAV client that's in every Apple product.
|
| I agree, the protocol sucks. But we also had a ton of trouble
| handling Exchange and Google's non-compliant CalDAV server,
| which all the users blamed us for.
|
| Now that I work at Google I can see that gCal apps use an
| entirely different protocol.
| bflesch wrote:
| Would be nice if you use your experience and financial
| stability of a Google job in order to build a better open-
| source protocol. Just like when ZX2C4 decided he's fed up
| with OpenVPN and went to create Wireguard this might be your
| moment to shine.
|
| IMO the quality of software is only pushed forward by
| motivated individuals with the right skillset.
| kridsdale1 wrote:
| It was 14 years ago, I've forgotten everything by now.
|
| To be honest if I were to do that today, I'd vibe-code it
| by writing a strong set of tests against the protocol rfc,
| then a client against the tests. The client would be low
| level and have higher level interfaces in various
| languages.
| philsnow wrote:
| bflesch might be suggesting that you (or some other
| motivated + heroic person) write a new spec for calendar
| collaboration, like what jmap.io is trying to do for
| mail.
|
| I know that calendars and datetime management suck, hard.
| I hazard a guess that several people have already started
| trying to replace caldav (because of the suckage of
| caldav) and have quietly given up (because of the suckage
| of datetimes and timezones).
| kridsdale3 wrote:
| Indeed they do. The hardest bugfix I ever had to do
| (which I go back to whenever interviews ask that
| question) was a timezone bug that was going to ruin the
| iOS 7 on-stage reveal. It only reproduced in customer
| builds and customer hardware, which we could not debug or
| get root on. Anyway we traced it to a confluence of rare
| conditions in a date-math C file that had not been
| modified since 1987, and was in a completely different
| style from everything else in the OS. The edge-iest of
| edge cases.
|
| It was hard because of the debugging blindness, not so
| much date-math itself. We had to do hardware-level
| things.
| fc417fc802 wrote:
| I thought the solution to datetime was almost always to
| use TAI plus a library to convert for display in the UI.
| (Or UTC and accept that leap seconds might cause bugs.)
| thequux wrote:
| Calendar apps expose _all_ of the weird edge cases in
| dates and times. For a specific instance of a specific
| event that never needs to move, TAI will work. However,
| suppose that you schedule a meeting for 28 March at
| 13:00. You then move that meeting forward a week,
| crossing a DST switch. If you simply add 604800 seconds
| to the TAI, that meeting will be at 14:00, which is
| surprising. OK, easy enough to solve; convert the TAI
| back to the local timezone, add 7 to the day field
| (carrying into month and year, as needed), and you 're
| good to go. Now suppose that the meeting was set up in
| the US, and you realized that you needed to reschedule
| the meeting while you were travelling in Germany. You get
| back to the US, and suddenly the meeting is an hour
| early, because DST rules aren't universal.
|
| Worse, imagine a recurring meeting, every week at noon.
| You've got the TAI for the original instance, but as you
| cross a DST boundary, some places will shift according to
| DST and others won't, and thus you have half the
| attendees showing up at the wrong time.
|
| Finally, TAI _introduces_ the leap second bug for
| calendars. When you schedule a meeting for noon next
| year, you want that to happen at noon, not now plus
| however many seconds. If a leap second is introduced, you
| don 't want that meeting to happen at one second before
| or after noon.
|
| TBH, if you find yourself in a situation where you need
| to deal with calendar events, I recommend updating your
| CV.
| fc417fc802 wrote:
| I'll preface this by stating that I fully realize that
| localized datetime is absolutely byzantine and fraught
| with difficulties. That's the rationale for leaving it to
| an external library as close to 100% of the time as
| possible.
|
| I also realize that there might well be complexities
| involved in calendar software that I'm unaware of. Hence
| my comment - I'm genuinely interested to learn. That
| said, I think your examples are all fairly clear examples
| of errors in reasoning by the programmer. Specifically
| they stem from conceptual mistakes regarding the relation
| of different logic domains (by which I'm referring to
| storage, display, scheduling, etc).
|
| You never move events around in TAI (the unambiguous
| storage format) just as you don't go manually flipping
| bits in an SQLite database. You always work in a
| localized time because that's what the user is reasoning
| in. And you use the datetime library to implement as much
| of those manipulations as possible.
|
| > US vs Germany, conflicting DST rules.
|
| Go back to the era before smartphones and PDAs and the
| internet. You're in Germany on a business trip. You call
| your secretary to reschedule next weeks meeting back
| home. You don't use German time when doing that, you use
| US time.
|
| Events have a location which has a timezone. Scheduling
| happens in that timezone. Blindly using the current local
| timezone of the device is a reasoning error. Storage,
| scheduling, and presentation are distinct logic domains.
|
| > you have half the attendees showing up at the wrong
| time.
|
| There is a single unique TAI time for a given event
| (after all that's the entire point of using UTC or TAI or
| what have you). All attendees will see an equivalent
| local time barring a bug in the datetime library.
|
| See my earlier point regarding which timezone to use for
| the computation.
|
| > TAI introduces the leap second bug for calendars.
|
| Only if you make the mistake of attempting to manually
| manipulate your data storage format. The point of TAI as
| opposed to UTC in this specific case is to offload the
| complexity of handling leap seconds onto the datetime
| library so that you don't need to worry about it.
| rsto wrote:
| The JMAP for Calendars RFC [1] is soon to get published by
| IETF. Disclaimer: I work for Fastmail and am the co-author
| of RFC 8984 [2] which defines the calendar event data model
| used in JMAP.
|
| [1] https://www.ietf.org/archive/id/draft-ietf-jmap-
| calendars-22... [2] https://www.rfc-
| editor.org/rfc/rfc8984.html
| conradev wrote:
| Are the protocols compatible enough such that someone
| could proxy JMAP to CalDAV?
| m463 wrote:
| https://xkcd.com/927/
| yonatan8070 wrote:
| I use Nextcloud's CalDAV and CardDAV with DAVx5 and it works
| pretty much perfectly
| Jnr wrote:
| I also use Nextcloud as the backend and iOS Calendar app as
| frontend on mobile and Gnome Calendar as frontend on PC.
|
| It mostly works great, except for 3rd party Office365
| calendars imported into Nextcloud. It has issues with some
| events on some clients displaying correct time when event
| invitees are from different time zone.
| jp191919 wrote:
| I've been using Nextcloud as well for about 5 years now, and
| using Etar on my android. It's been great.
| NoTeslaThrow wrote:
| > Instead, initially went with the approach of hosting my
| dynamically updating iCal file in an S3 bucket and using ICSx5
| on Android to sync with it. No CalDAV needed - just HTTPS.
|
| Well you also can't integrate this into most calendars. I don't
| even know what the hell an iCal file is. I haven't even heard
| "iCal" in what feels like decades.
|
| > I know I will probably get pushback over this, but CalDAV
| sucks.
|
| All the alternatives are worse.
| ravenstine wrote:
| Short for iCalendar. (.ics files)
|
| https://en.wikipedia.org/wiki/ICalendar
| mbreese wrote:
| The book Dreaming in Code [1] goes into great detail about how
| CalDAV (and WebDAV) came about through the work of the group
| who built the Chandler calendar program (or tried to). It's
| been a while since I read it (at least 15 years), but I think
| it partially discusses some of the ways a protocol like this
| can get lost in committees during the design process. The fact
| that this project started around 2001 should also be
| informative about how long calendaring has been a problem. So,
| if you'd like to know about _why_ it sucks, I'd recommend it.
|
| It's also a good story about the conflict between startups and
| open source, building products, and software development in
| general.
|
| [1] https://en.m.wikipedia.org/wiki/Dreaming_in_Code
| itissid wrote:
| Nice!. I would like to do something like this but for Photos. I
| want to get off Dropbox and Google for a while. At the top of my
| list are:
|
| 1. Create a memories like feature from my photos to send on my
| cell phone, grouping by different features I like: anniversaries,
| similar activities, A `Me an X(X is Spouse, family, friends
| etc)`, Over the years(how x has evolved over the years).
|
| 2. Be able to save photos taken from my device to my servers.
|
| I've set up three true-nas machines in different places with 2TB
| of space and want to slowly build this feature.
| e-clinton wrote:
| I just did this with Immich. I have 2TB of photos in it and I
| backup my phone automatically. Using cloudflare tunnels to
| access remotely.
| johntitorjr wrote:
| same. super convenient to be able to go to
| photos.[domain].com for my photos. the immich android app is
| great too.
|
| cloudflare tunnels is a game changer, I can't believe it's
| free.
| qntmfred wrote:
| same. some projects in that space from a comment I made a while
| back https://news.ycombinator.com/item?id=39155977
| fourseventy wrote:
| I just did this a few months ago. I used PhotoPrism
| https://github.com/photoprism/photoprism
| darkwater wrote:
| I used Photoprism for over a year, even paid the "server
| license" and I'm now using Immich which is much more
| powerful, sleek, gets new features very quickly (sometimes
| it's even too fast paced) and in general has got much more
| traction with the community.
| murki wrote:
| If you use a synology NAS their OS (Diskstation Manager)
| supports this via their Photos[1] and Moments[2] apps
|
| [1] https://www.synology.com/en-global/dsm/feature/photos [2]
| https://www.synology.com/en-global/dsm/feature/moments
| TheChaplain wrote:
| There is also NextCloud, Thunderbird for desktop and Davx5-app on
| Android.
| ei23 wrote:
| yep, same. works great. using that over 10 years now
| waynesonfire wrote:
| This is my stack, works great.
| Havoc wrote:
| Been thinking about this too.
|
| Citizenship application is asking for my travel for the past
| couple years. And I have no idea. Especially since in Europe a
| weekend getaway to another country is feasible.
|
| Some sort of long term tracking would have been really useful
| eb0la wrote:
| Just write what you know: they won't be able to know where were
| you...
|
| ... but they will be able to know if you're lying to them
| because they are trained to read people.
| VyseofArcadia wrote:
| I have a self hosted calendar solution. It was $15 at Staples,
| and it hangs in my kitchen. It wasn't a complete out of the box
| solution, though, I had to do a little work to customize it. I
| placed a pen cup with a few pens in it on the counter near the
| calendar to ensure it is always easy to modify.
| sofixa wrote:
| How does it handle notifications? How do you access it
| remotely? How do you share it for common events with others?
|
| Comparing a paper calendar to a digital one is like comparing a
| Nokia 3310 to a modern smartphone. Yes, technically both are "a
| phone" but that's roughly where the similarities end.
| doublerabbit wrote:
| How do you access it remotely?
|
| Set up a webcam stream of the calendar
|
| How do you share it for common events with others?
|
| Share the webcam link or ring them up on the telephone if we
| are (jokingly) going traditional.
| IncreasePosts wrote:
| Giving edit access is as easy as giving whoever your front
| door key!
| TeMPOraL wrote:
| > _Share the webcam link or ring them up on the telephone
| if we are (jokingly) going traditional._
|
| Why not make it more convenient for them and pipe the
| webcam stream through a script that OCRs it on change (or
| on timer) and makes it available as an .ical file that
| others can import via a link?
|
| Also it's 2025, you can do it fast and robust by piping it
| through an LLM instead, with a prompt like "turn this
| calendar image into an .ical file pretty please".
|
| /s, but only a little :). I've honestly thought of doing
| that for real, except with a feed of my laptop screen, to
| sync availability (busy/free) info from my work calendar to
| my family one, because it's _way_ easier than trying to
| argue the point with corporate IT.
|
| (I've changed jobs since then, and now I'm using a lazy
| hack on top of some random Fastmail-friendly cloud app.)
| skyyler wrote:
| >As someone who travels a lot, it's also one of those things
| where statistically speaking, the chances of me being on a
| plane whenever some newsworthy event happens is higher than for
| the average person. I want my wife, friends, coworkers to know
| what flights I'm on and what cities I'm in. I've survived one
| terror attack, nearly dodged two others and a mass shooting.
| It's one of those things where I want to make sure people who
| care about me can check in easily to see where I am.
|
| It seems like the author has very different needs than you.
| samspot wrote:
| My wife uses this solution. When I am at work and someone wants
| to know if I can do a team dinner, I have to call her if she's
| at home, or tell them I'll get back to them. I never know if
| I'm free and finding out is inefficient at best.
| EvanAnderson wrote:
| Nearly the same thing here. We're scheduling for our daughter
| who, as she's getting older, has increasingly more scheduled
| events, too. If we're out of the house and my wife hasn't
| brought the paper calendar with her we simply can't commit to
| any plans. It's excruciating.
|
| The cobbler's children go barefoot, so I haven't come up with
| a good solution for us... >sigh< It almost makes me want to
| hitch my wagon to a hosted product/service. Almost.
| raegis wrote:
| I used to do this with my wife, and it drove me crazy. Now we
| use a shared Google calendar, which works way better than
| prior solutions. Our unspoken rule: if there is an open time
| slot available, the first to enter it in the shared calendar
| wins. We're both responsible for entering all family-related
| appointments in the calendar as soon as they come up. There
| have been conflicts when either of us forgets to enter
| something into the calendar, but we just resolve the
| conflicts as usual. This was a game-changer from my point of
| view.
| rambambram wrote:
| You have way more advanced needs than I have for a calendar, but
| I've also been thinking of using a self-hosted solution. The
| realization for this came when I started noticing all kinds of
| appointments by email came with a notification attached to add
| the event to your calendar. I'm talking Gmail here, and I suppose
| my smartphone was going to add it to my standard Android calendar
| or something (I didn't try). Then I realized I didn't even like
| the UI/UX of my standard Android calendar.
|
| I only need to manually add some appointments per week (not even
| every day, I'm a lucky guy) and realized I do not even need a
| grid layout for my calendar.
|
| Having worked with times and dates in my favorite programming
| language already, I feel confident I can make something simple
| based on the standard default classes.
|
| Even running something as simple and important as a calendar
| through third-party apps has started feeling very strange the
| last years.
| EGreg wrote:
| There is no need for CalDAV, you can actually use the
| _subscription_ feature of ics calendars!
|
| At Qbix, we build software for communities to collaboratively
| manage various things, and that includes events. For example,
| here are three sites we built, all different:
|
| 1) https://yang2020.app for Andrew Yang's 2020 campaign and Yang
| Gangs - to help people collectively organize and knock on doors,
| etc.
|
| 2) https://new.freetalklive.com for a libertarian show that pulls
| their episodes into the site, and let people watch and discuss
| them
|
| 3) https://gba.community for their annucal conferences in
| Washington DC - all the speakers, events, etc.
|
| We've long ago implemented integrations with people's devices
| (phones, computers). You can add contacts to your address book
| using .vcf files, and they can even contain thumbnails. They
| don't need to include people's phone numbers, they can include
| their IDs on your site, and URLs to contact them.
|
| Similarly, we have a button to subscribe to calendars, and it
| even works on MacOS. Imagine each user having a calendar appear
| on their phone. The subscription will pull new events into the
| calendar, update and remove old ones. About the only downside is
| that the OS usually suppresses any VALERT info that we place
| there, so you can't place alerts on these events. But you can
| have location, directions, etc. You can have a URL for group
| rides. We've built it all!
|
| For both contacts and events, what you really want is access
| control - some people can see some things, others can see other
| things. If you paid for an event, you can see the location and
| time, for instance. You can maybe see the speakers, etc.
| easyKL wrote:
| Another route is to go serverless and use DecSync. Thunderbird
| (or Evolution) will sync with the Android app (F-Droid available)
| and your Cal, your Cards, and tasks, and even RSS will be
| replicated on the other peers.
|
| https://github.com/39aldo39/DecSync
| Timber-6539 wrote:
| A nitpick. The two managed docker volumes created (at the very
| bottom) are not used by the container and only serve to cause
| confusion to the reader. services:
| baikal: image: ckulka/baikal:0.9.5 restart:
| always ports: - "XXXX:80"
| volumes: - /mnt/baikal/data:/var/www/baikal/config
| - /mnt/baikal/data:/var/www/baikal/Specific volumes:
| config: data:
| vaishaksuresh wrote:
| I don't have the requirement of owning my data and I've solved
| this in a simpler way.
|
| 1. Create a shared family calendar 2. For things that need to
| block work calendar, invite my work email to the event.
| sockaddr wrote:
| Why would you expect anyone to be interested in this solution
| given the whole discussion is about self-hosting?
| Suppafly wrote:
| To be fair, self-hosting is often over-rated and mentioning
| that is part of the discussion.
| axegon_ wrote:
| I too have been on a very aggressive mission to decloudify myself
| lately(as in, since comrade musk and co took over everything and
| I have 0 reason to trust him or anyone around him). And to be
| fair, for all the hundreds of gigabytes of data I have, the
| migration took no longer than two weeks, on and off, and it works
| infinitely better than I was hoping. The only service I've
| outsourced is email since I hate dealing with MX records,
| IMAP/SMTP. For everything else, the one thing that did wonders
| was an Asus PN40 with a dual core celeron CPU. It's biggest
| strength is that it's both accessible and has a slot for an M.2
| NVME and a SATA drive so you can have a safe backup in one spot.
| I too share the opinion that CalDAV is kind of sketchy. That
| said, Nextcloud covered most of my needs(although it can be slow
| for some things, even with redis backing it up). Calendars,
| dropbox/google drive, docs, photos, backups and automatic syncing
| - it covers everything really well. That, combined with several
| other open source solutions truly cover all my needs(music and
| video streaming, monitoring, alerting, vpn, readers, management,
| and various other utilities). And as under-powered this mini PC
| is, it handles everything insanely well with lots of room to
| spare, given that my ISP is a solid 10/10. In fact it would be
| perfectly capable of handling another 5-6 people like me with
| ease.
| Night_Thastus wrote:
| I've been looking for a new calendar myself. I've been using
| Vueminder for years, but I think it's time to move on. I'm not
| keen on the renewing updates thing either.
|
| I'm in the Proton ecosystem, but from what I understand their
| Calender kind of sucks right now.
| donatj wrote:
| Everything old is new again.
|
| Back in the early 2000's I used Mozilla Sunbird to host my
| calendar on my personal Win2k server via IIS's WebDAV module... I
| don't _think_ CardDAV was a thing yet but I might be mistaken.
|
| I ended up importing all that data from it into my Google
| Calendar which is kind of fun because I've got all my homework
| and whatnot for college courses on there if you go back far
| enough.
| EvanAnderson wrote:
| Sunbird was almost what I wanted, back in the '04 timeframe,
| but it seemed unstable. I lost some appointments when they
| never made it up to the server. I used CalDAV with Sunbird
| using a DAViCal server.
|
| Sunbird was abandoned. I haven't looked recently to see if
| there's a reasonable replacement that might run on Windows.
| colordrops wrote:
| If you are on NixOS for your home server, take a look at my
| project that does most of the work for you. Bundles router, DDNS,
| firewall, vpn, ad blocking, and all the apps into a single
| integrated service if your machine has two ethernet ports. Even
| if you don't use it directly, the services are broken out into
| modules which can be referenced for your own setup:
|
| https://homefree.host
| codethief wrote:
| > most of the work for you
|
| To be fair, I think the author's main work was spent on
| tailoring those calendar import/export scripts. :)
|
| As for your setup, what do you use for calendar & contacts
| hosting? I couldn't find any details about that on your
| website.
| raybb wrote:
| I use the CalDAV protocol for my to-do list (tasks.org and
| nextcloud) and I've been wonder if someone could hookup CalDAV
| with MCP so I can talk to my to-do list to modify it without
| going to some proprietary solution.
|
| Is this feasible? Has anyone seen a tool like this yet?
| xyst wrote:
| I'm glad folks are using existing CalDAV/Carddav protocols. Too
| many "custom" junk that works only on web or mobile.
| trod1234 wrote:
| How does this actually help with owning your own data and
| repatriating it?
|
| The integrations that are installed on the end devices (phone)
| sync all that private data into the cloud platform regardless of
| the backend server. State is shared.
|
| Google Information Services, and Apple's backend's unpublicized
| equivalent both process and store that related data, regardless
| of the phone you choose to use or the options you choose on that
| phone. There is a reason gigabytes get sent up to the cloud every
| evening, and its all encrypted.
|
| Until you remove the implants on your phone you won't be able to
| receive any benefit from repatriating the data. That requires
| jailbreaking, or installing a new OS (something like Graphene),
| which is model specific due to compatibility issues.
| j45 wrote:
| Syncing availability between multiple calendars is pretty useful
|
| It was my main reason to purchase Motion but they eventually
| removed it.
| dceddia wrote:
| I have the weirdest calendar problem: if someone sends an invite
| to my Fastmail account, it gets swallowed up by Gmail. It never
| shows up in Fastmail, and in the calendar invite it appears as if
| it was sent to my Gmail address even though it wasn't. It's the
| strangest thing and I don't know how to stop it or even what's
| causing it (Fastmail support also had no idea).
| Arelius wrote:
| Wow, that' sounds like something I'd love to figure out how to
| setup with my Fastmail...
|
| I use Fastmail for my email, but due to... life, I still do all
| calendaring on Google, and so I often miss events that get sent
| to my Fastmail...
| singron wrote:
| Does this always happen or only sometimes? In Google calendar,
| if the event is modified through the API, there is an option to
| suppress change notifications, and this can prevent non-google
| calendars from getting invites.
|
| Also did you create a Google account using your fastmail
| address? I haven't tested it, but it's possible this causes a
| hairpin route where Google supresses the outbound email since
| it thinks it can directly modify the calendar.
| dceddia wrote:
| It's very reliable, but only on ONE of my fastmail addresses.
| My Google account predates the fastmail one by a long time.
|
| I had a theory that maybe at some point I set up iCloud with
| both of these accounts (fastmail + gmail) and it's somehow
| intercepting these and rewriting them. It's not a super
| strong theory. Another thought is maybe it's a DNS setting
| somewhere?
| 8fingerlouie wrote:
| I know this is not what people want to hear, but your data will
| never be safer than it is in the cloud. No setup you can dream up
| at home with in a reasonable budget will ever come close to the
| resilience and redundancy you have in the cloud.
|
| Ownership is not about storing everything at home (or well, it's
| part of it), but having control over your data, which you can
| easily have while at the same time using the convenience that the
| cloud offers.
|
| In the cloud your major concern is not losing data, but losing
| access to data, and you can counter that with making backups.
|
| If privacy is a concern, use something like Cryptomator[1] to
| source encrypt data before uploading it. Cryptomator in
| particular integrates well with mobile phone operating systems,
| and has clients for all major operating systems (yes, Linux
| included).
|
| Source encrypt your backups as well, and nobody can read your
| data besides you.
|
| [1]: https://cryptomator.org
| ubermonkey wrote:
| Yeah, it's really about picking your hosting partner.
|
| I'm happy with Apple and iCloud holding our personal contacts
| and calendars. I'm happy with Fastmail holding our email. I
| still have local (and other online) backups, of course.
| canadiantim wrote:
| I can't help but feel on-device storage is still safer than
| cloud storage. Sure, can use cryptomator or similar to encrypt
| on cloud, but that's same with local. Only with cloud you're
| opening up a much bigger attack vector space than having it on-
| device/"at home". Cloud definitely gives better resiliency and
| redundancy, but data replication is also something to be
| cautious with if privacy is a concern.
| 8fingerlouie wrote:
| Assuming your data stays at home, without opening any
| firewall ports, then maybe your data is safer. You're still
| only one malware/burglary/house fire/flooding/accident away
| from losing it.
|
| The moment you start opening ports you're no longer remotely
| safe. Cloud providers have dedicated staff monitoring
| services (or monitoring systems monitoring services) for
| anomalies, as well as people monitoring their networks. These
| same people will also know in advance when a new patch is
| coming for some 0-day exploit that might leave them
| vulnerable.
|
| Compared to your setup at home, where you will patch it
| "eventually" (at the earliest when you get home from work),
| and you won't know if you're the target of an attack until
| your server gives up.
|
| Not to mention the risk of losing other data. The LastPass
| leak a couple of years ago was made possible by attackers
| gaining access to an unpatched Plex server on a developers
| home network, from which they could gain access to his work
| laptop. LastPass had questionable security practices sure,
| but the validity of the attack still stands.
| oarsinsync wrote:
| > your data will never be safer than it is in the cloud
|
| Unless you use Google Timelines. Then you're out of luck.
|
| https://mjtsai.com/blog/2025/03/24/google-maps-timeline-data...
| eikenberry wrote:
| > Ownership is not about storing everything at home (or well,
| it's part of it), but having control over your data, which you
| can easily have while at the same time using the convenience
| that the cloud offers.
|
| Ownership is not just about r/w control of your data but also
| over what software gets access to it and what that software
| does. Not just about privacy, but knowing the process and being
| able to alter it to your desires. There is no way to control
| that unless you run your own servers.
| 8fingerlouie wrote:
| Does it matter if data is encrypted ?
|
| If it does, I assume you also roll your own network
| equipment. If you're worried about surveillance, know that
| you're far more likely to be targeted at the network port
| than at your data.
|
| As for the process, the cloud (for storing data) is nothing
| more than a remote fileshare that someone else keeps running.
| If you have an up to date copy of your data you can change
| the process any way you like.
|
| Servers are not free, nor are they fire and forget. Once you
| setup a server and decide to open it to the internet, you
| become a target, and you _will_ be found. There are bots
| scouring the entire ip range of every residential IP network
| looking for juicy targets, and when they find something they
| record it for later use. Then when some new 0-day is found
| for service X that you 're running, they don't need to scan,
| they can just lookup in their database an exploit right away.
|
| I'm not against self hosting, and god knows I've been doing
| it for decades, but it is very rarely worth the hassle
| compared to the gains. The power cost alone of running a
| server is more than the equivalent cost of storing it in the
| cloud (assuming we're not talking media servers, but regular
| user created data).
|
| The worst argument I usually see is people self hosting mail
| for private, completely oblivious to the fact that there are
| usually 2+ people in a mail thread, and something 68% of the
| worlds population runs on Google/Microsoft/Apple/whatever, so
| while you may keep your emails private, if they're targeted
| for being scanned they have already been so.
| ranger207 wrote:
| I've been using Baikal for a few years now and it's very solid,
| although it's just for myself and I don't have all of OP's
| requirements. For my desktop I just use Thunderbird's built in
| calendar to connect, and on my phone I use DAVx5 and Fossify
| Calendar from F-Droid. It's forked from Simple Mobile Tools's
| Calendar app, but unlike the name it's actually the most fully-
| featured calendar app I've seen. It's "simple" in the way that it
| just presents you with every option instead of forcing you do dig
| through half a dozen menus and dialogs to do what you want to do,
| which is very nice.
___________________________________________________________________
(page generated 2025-04-10 23:00 UTC)