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