[HN Gopher] Own your calendar and contacts with OpenBSD, Baikal,...
       ___________________________________________________________________
        
       Own your calendar and contacts with OpenBSD, Baikal, and FOSS
       Android
        
       Author : baak6
       Score  : 148 points
       Date   : 2022-05-15 10:26 UTC (12 hours ago)
        
 (HTM) web link (baak6.com)
 (TXT) w3m dump (baak6.com)
        
       | aaaaaaaaata wrote:
       | Related reading: GrapheneOS.org
        
       | kkfx wrote:
       | I do, but without Android and {card,cal}dav... Emacs/org-
       | mode/org-agenda/org-contacts for in-Emacs usage (for instance for
       | email/notmuch) and with classic LDAP on the homeserver for my
       | VoIP phones...
        
       | rollcat wrote:
       | There are plenty of good alternatives for calendar/contact sync
       | _servers_ , but I haven't seen any good, native _clients_ that
       | work on modern BSD (or Linux) _desktops_. Both Evolution and
       | Thunderbird tend to be slow, clunky, glitchy, generally doing
       | pretty poorly when put side-by-side with e.g. the built-in macOS
       | counterparts.
       | 
       | I'm trying to use an OpenBSD laptop in parallel with a macOS
       | desktop, and while it's perfect for coding and OK for web
       | browsing, the rest of the desktop experience is just... not
       | there.
        
         | pseudostem wrote:
         | I went all in ~1 month ago after using on servers since late
         | 2000s. My findings:
         | 
         | 1) can't have something like a /var mounted on iscsi. The Rd
         | kernel doesn't support it. 2) help for DEs is patchy. In my
         | example XFCE behaves differently on major linux distributions
         | than mine. Intellij too is slightly different. 3) there are
         | some bugs in upstream software which as an OpenBSD user are
         | simply unacceptable to me. I had to disable compositing. 4)
         | things like Bluetooth for some people (not me) may be a deal
         | breaker. Bluetooth sound works perfectly. 5) if you want to use
         | myfavsoftware X, you may have it in ports. But the reason you
         | want to use it relies on mynotfavsoftware Y which may not be
         | available on OpenBSD. 6) if you use OpenBSD you will become a
         | cynic because of bad documentation most places elsewhere. I
         | mean this seriously, I view rest of the world as moving on to
         | just getting things done without giving thought to underlying
         | correctness. Maybe it's a good thing, maybe not.
         | 
         | That said: 1) it is the easiest thing to operate. Like really
         | easy. You know which file is doing what, when. 2) there are no
         | gotchas. This is a very predictable and consistent system. 3)
         | if it's not there in documentation, you don't have to ask "how
         | to x", be rest assured if it's not there in the docs, it is not
         | available, else it'd have been there. 4) contrary to public
         | opinion, very very helpful community.
         | 
         | I think I am a fanboy. Previously have used (rev chronological
         | order) - pop!os, enso OS, windows 10, snow leopard (another
         | brilliant one), freebsd for a month, Ubuntu, redhat 5, XP,
         | 2000, NT 4, 3.11. By far OpenBSD is something I have loved the
         | most.
        
           | rollcat wrote:
           | > if you use OpenBSD you will become a cynic because of bad
           | documentation most places elsewhere.
           | 
           | I found it the other way around, I feel inspired to write
           | better documentation.
           | 
           | > things like Bluetooth for some people (not me) may be a
           | deal breaker.
           | 
           | I'm spoiled by Apple. It must either work really well, or
           | otherwise indeed I won't mind it not being there.
           | 
           | > Bluetooth sound works perfectly.
           | 
           | What do you mean? The whole BT subsystem got rm -rf'd years
           | ago. Or are you using some sort of a 2.4GHz dongle that just
           | shows up as an audio interface?
           | 
           | > contrary to public opinion, very very helpful community.
           | 
           | Indeed, you just need to show you've done basic research
           | before asking questions. Which goes a very long way in any
           | case.
           | 
           | > I think I am a fanboy.
           | 
           | Oh me too. I've been using OpenBSD for 6-7 years, on & off,
           | as my backup / "code in peace" machine. I absolutely love the
           | base system and I think it does what it's supposed to do
           | extremely well.
           | 
           | I have very mixed feelings about the state of the free
           | desktop environments though, again, spoiled by Apple. So I
           | tend to stick to minimalist solutions such as dwm. I could
           | probably switch to OpenBSD full time any time, except I have
           | plenty of non-free software I need or want to run. Between
           | macOS and Windows, at least Macs are decent BSDs.
        
         | kingofpandora wrote:
         | Kontact for Plasma/KDE has worked perfectly with Baikal for me.
        
           | rollcat wrote:
           | I will give it a try, however I personally dislike KDE, it
           | feels pretty much like a kitchen sink of options and
           | preferences, yet I somehow still can't configure it to feel
           | "right".
        
       | ekianjo wrote:
       | faster to use Nextcloud that does a lot more things out of the
       | box in a single install
        
         | deutschepost wrote:
         | I also use Nextcloud for this. Works pretty good. The only
         | problem I have with it is that there is no automated way to
         | backup your calendar/contacts.
        
           | tcit wrote:
           | The Nextcloud Android app has built-in backup of contacts and
           | calendars.
        
           | ekianjo wrote:
           | You can backup contacts and calendar usually from within your
           | email client
        
         | pferde wrote:
         | I tried using Nextcloud several times in the past, but the
         | experience on Android was always sketchy for me. Contacts and
         | calendar that would randomly (and silently) stop synchronizing,
         | their mobile app stuck on endless spinner when browsing photos
         | and files.
         | 
         | It has pretty web interface, but it was just unusable where it
         | mattered.
        
           | KennyBlanken wrote:
           | Try feeding it a redis instance. That caused a "several
           | orders of magnitude" improvement in interface responsiveness
           | and my weird syncing problems stopped immediately.
           | 
           | I also disabled every module and plugin I didn't consider
           | essential.
        
           | emteycz wrote:
           | Same here, and I have many problems with the web interface
           | too. And sometimes when I add an app to my Nextcloud user,
           | the whole instance just stops working and I wasn't able to
           | find a way to recover.
        
           | Gigachad wrote:
           | Nextcloud totally breaks down if you try to use it for photo
           | syncing. It can't handle thousands of files in one directory.
        
             | brnt wrote:
             | Hows Owncloud doing? They were rewriting to Go, to improve
             | performance in such cases. I kind of lost track though.
        
               | Gigachad wrote:
               | The impression I got was that the problem was not related
               | to php being slow but just a general scalability problem.
               | If go runs it 2x as fast, it will still fail with 2x as
               | many photos which is very common. Maybe as part of the
               | rewrite they will address this but I think photos is a
               | fundamentally different problem to hierarchical file
               | storage that they require being split up like how google
               | photos is not part of google drive despite sharing the
               | same storage usage quota.
        
           | jeroenhd wrote:
           | With DAVx5
           | (https://f-droid.org/packages/at.bitfire.davdroid/) I find
           | contact and calendar sync with Nextcloud to be quite
           | reliable.
           | 
           | That said, for file syncs I do prefer Seafile over Nextcloud.
           | I don't think I'm the only one that prefers Nextcloud just
           | for contact/calendar sync because Mailcow uses the Nextcloud
           | platform just to accomplish that, with file sync disabled.
           | 
           | On desktop the sync integration is fine. It's only on mobile
           | that the experience is lacking.
        
       | conaclos wrote:
       | An interesting alternative is Radicale [1]. Both are very
       | lightweight. I mainly chose Radicale over Baikal because it is
       | written in Python. On the client side DAVx5 [2] do a good job.
       | 
       | [1] https://radicale.org/v3.html [2] https://www.davx5.com/
        
         | pkulak wrote:
         | How do you host your email? I figured it would be a pain to not
         | have my contacts and email very tightly integrated, so I just
         | keep it all with Fastmail.
        
           | conaclos wrote:
           | I did not need a tight integration between my phone contacts
           | and my mail contacts. However, I think a good mail client
           | such as thunderbird could do a good job.
           | 
           | I am using my own domain and I am using OVH as my mail
           | provider.
        
         | andrewzah wrote:
         | I tried Baikal but Radicale was much easier to use and set up.
         | It's been solid for the last two years for me.
         | 
         | That said I try to avoid self hosted services written in
         | Python, especially if they use Django. I've had nothing but
         | issues dockerizing them. I just want a static binary ideally.
        
         | cube00 wrote:
         | I've been using Radicale for a few years now and it has been
         | fantastic. Extremely lightweight but also quite flexible with
         | its permissions model since we have a shared family calendar.
         | 
         | The backend storage is simply ics/vcf files and while I'm sure
         | it's not the most efficient if you had a large number of users,
         | for our small group it's been perfect and very satisfying
         | knowing your data is there in plain text files.
         | 
         | Although if I'm honest I'm just cheap and wanted to get by on
         | the smallest VM offered by my cloud provider and NextCloud was
         | too demanding for that.
        
           | jamessb wrote:
           | > Extremely lightweight but also quite flexible with its
           | permissions model since we have a shared family calendar.
           | 
           | How are you doing this?
           | 
           | A while ago I skimmed the documentation for a couple of
           | CalDAV servers to try and figure out how I could self-host a
           | shared calendar, but couldn't see an easy way to do this.
           | 
           | I've just done some more searching, and it seems there are
           | two suggested ways to do this with Radicale:
           | 
           | * create a separate account for the shared calendar, and tell
           | everyone who needs write access the password
           | 
           | * create the calendar in one use's directory, and add a
           | symlink to it in the user directories for any other users who
           | need write access.
           | 
           | Both of which seem like a bit of hack compared to bring able
           | to explicitly state that a list of users have write access to
           | a calendar in a config file or through a UI.
        
         | m82labs wrote:
         | I've been using radicale for contacts and calendar for quite a
         | few years now. Plays nice with iOS Mail and Contacts as well as
         | Gnome Evolution and has overall been a great experience.
        
           | adamddev1 wrote:
           | I'm a happy radicale user too but I haven't been able to get
           | it to work w macOS mail and contacts. I use EMClient with it
           | which works great.
        
             | 1over137 wrote:
             | https://github.com/Kozea/Radicale/issues/1217
        
       | poidos wrote:
       | How does this handle calendar invites? I've tried in the past and
       | while sending invites works ok, receiving is frequently not
       | handled at all.
        
       | rglullis wrote:
       | Or use DecSync [0] and eliminate the need for any central server.
       | 
       | [0]: https://github.com/39aldo39/DecSync
        
         | durazabu wrote:
         | How I use DecSync for my calendar without any central server:
         | 
         | Thunderbird (Linux) - Radicale+Radicale DecSync plugin
         | (Linux/Systemd) - 'DecSync' Folder (Linux) - Syncthing (Linux)
         | - Syncthing-fork (Android/F-droid) - 'DecSync' Folder (Android)
         | - Decsync CC (Android/F-droid) - Simple Calendar Pro
         | (Android/F-droid)
         | 
         | Radicale runs only on localhost. Syncthing runs only on the
         | local network.
         | 
         | The synchronization only happens if the computer and the phone
         | are on the same wifi network.
        
           | heywoodlh wrote:
           | I would be super interested to read a more detailed how-to on
           | this. I use the crap out of Syncthing (although on iOS -- my
           | daily mobile driver-- it is fairly limited what you can do
           | with it).
        
             | KennyBlanken wrote:
             | I used syncthing until I switched to iOS and found it
             | unworkable due to how bad the clients were for iOS.
             | 
             | Nextcloud is what I ended up using; you get file sync and
             | contact/calendaring in one, and you can also use it to
             | share files "externally" if need be, even flip on the chat
             | module and use it to video-conference instead of zoom if
             | you want.
             | 
             | I'm using sqlite as the backing database mostly because I'm
             | a single user and don't put a ton of files into it. I also
             | disabled every single module I didn't need. It was dog slow
             | until I connected it to redis, which was a real game
             | changer - near instant page loads and file sync. It is
             | running on an ancient SATA SSD in a second-gen i5 laptop.
        
               | heywoodlh wrote:
               | Yeah, for me I primarily use Syncthing just for syncing
               | between servers and computer.
               | 
               | I switched to Migadu for my primary email which includes
               | CalDav and CardDav. I also run Hydroxide in my K8s
               | cluster for Protonmail syncing on Apple Mail -- I could
               | also switch to that for CalDav and CardDav if I wanted
               | to.
               | 
               | There isn't much I actually need Syncthing for on my
               | phone nowadays. Even if I was back on Android I can't
               | think of much I would need it for -- for my workflows.
               | 
               | > Nextcloud is what I ended up using
               | 
               | Nextcloud has always been one of those projects I
               | appreciate so much but find so bloatey _for me_ as a
               | single user and always end up getting rid of shortly
               | after I install it. I feel like if I had a team of users
               | (work, friends or family) who fully committed to using it
               | then I would love it.
               | 
               | Btw, none of this is meant as a criticism to your setup
               | -- it sounds perfect!
        
               | asdfqwertzxcv wrote:
               | Where did you see the info for setting this up with
               | Migadu? I believe they've had it as an unadvertised beta
               | feature and the only write-up I found is this older one:
               | 
               | https://www.billdietrich.me/SecureCommunication.html?expa
               | nda...
               | 
               | There's also instructions about caldav only on the migadu
               | site here:
               | 
               | https://www.migadu.com/guides/thunderbird/
        
               | heywoodlh wrote:
               | Yeah, I reached out to their support a while ago to ask
               | about it and they made me aware of the CardDav/CalDav
               | instance at cdav.migadu.com. But yes, my understanding is
               | the same as yours in that it is an unadvertised beta
               | feature.
               | 
               | I can't remember the ports but if you point a
               | CardDav/CalDav client at cdav.migadu.com they pick up the
               | settings automatically. I've done this on iOS, Android,
               | MacOS and Linux and they all seem to work perfectly for
               | me with Migadu.
        
       | aklemm wrote:
       | "soy infested calendar products" What does that mean?
        
         | baak6 wrote:
         | Soy as in "soyftware". I've changed this to bloated as
         | apparently some people think I'm some radicalised alt-right
         | 4chan user for using this term.
        
           | detaro wrote:
           | > _Soy as in "soyftware"_
           | 
           | And that's supposed to mean what?
        
             | baak6 wrote:
             | Bloated or over-complicated software, that's how it's used
             | in my friend group anyway.
        
               | ThePowerOfFuet wrote:
               | I've never heard this term at all.
        
         | dragonwriter wrote:
         | "soy" = "badness" + right-wing culture war group identity
         | signalling.
        
           | andrewzah wrote:
           | Yep, comes from "soyboy", a pejorative for more feminine men.
           | The term came about from soybeans having phytoestrogen.
        
             | baak6 wrote:
             | I did not use the term in this context. I've never even
             | heard of this until people pointing this out today. I just
             | meant it as in bloated software. I don't live in America
             | and English is not my first language.
        
           | llanowarelves wrote:
           | I mean it's just true from the data that men's testosterone
           | on average has cratered over the last couple generations.
           | They shouldn't be consuming copious amounts of things to make
           | that even worse
        
             | aklemm wrote:
             | And therefor perjorative, victim-shaming language is just
             | the way it has to be?
        
       | dmos62 wrote:
       | Any experience interoping something like this with google
       | calendar? I'd love to use something like this, but I can't fall
       | back to having separate calendar apps for work and personal
       | stuff.
        
         | encryptluks2 wrote:
         | The solution is vdirsync
        
           | kajiryoji wrote:
           | Perhaps you mean vdirsyncer[1]?
           | 
           | [1]: https://github.com/pimutils/vdirsyncer
        
             | encryptluks2 wrote:
             | Ah yes, thanks
        
         | [deleted]
        
         | yoavm wrote:
         | I created Callibella for this:
         | https://github.com/bjesus/callibella
        
       | markstos wrote:
       | The challenge with self-hosting is maintenance. The more
       | complexity and more dependencies, the more maintenance.
       | 
       | I believe that's why the author was avoiding NextCloud.
        
         | oblak wrote:
         | Yeah but are calendars and contacts that complex? Or rather, do
         | they have to be complex? Never worked on such things myself,
         | though I'd think the hardest part would be interoperability
         | with the big boys
        
           | danmur wrote:
           | Nextcloud is pretty low maintenance in my experience, at
           | least for a few users doing fairly normal things. I've been
           | running it for about 1.5 years (calendar, tasks, documents)
           | and haven't needed to do anything except bump versions.
        
           | markstos wrote:
           | It's no somuch that, as what's in the stack:
           | OS+PHP+MySQL+Nginx+Other Dependencies.
           | 
           | How often do they need security patches or major version
           | upgrades that might have breaking changes? How often will you
           | need to replace the current stack with the Next Big Thing?
           | 
           | I've been self-hosting a blog for a while. At first, I used
           | custom software, because blogging software didn't exist (I'm
           | that old). I switched to Movable Type, but that project
           | withered. I moved to Wordpress, but found I was spending more
           | time running upgrades of the core and plugins then actually
           | blogging.
           | 
           | I migrated to a static site generator, Jekyll, which seemed
           | popular would solve the problem of security updates with
           | dynamic code. My install broke multiple times as I changed
           | laptops and Jekyll's dependency stack went through major
           | version upgrades. Still, I was spending more time maintaining
           | the stack then I wanted.
           | 
           | Now, there have been rumblings about the future of Jekyll as
           | well. Maybe I should switch to a single-binary app like Zola
           | to solve the dependency hell I've sometimes gotten into with
           | Jekyll upgrades.
           | 
           | This is only the history of trying to self-host a personal
           | blog from someone whose professional career has been web
           | hosting in some form or another. Imagine also trying to self-
           | host email, contacts, calendars a mastodon instance and other
           | services as well.
           | 
           | We can still support a more diverse ecosystem of tech by not
           | using the dominant providers and supporting companies which
           | use open source software which people can self-host if they
           | want to.
           | 
           | I support self-hosting, but the marriage to your own tech
           | stack involves some significant work once the honeymoon is
           | over.
        
         | KennyBlanken wrote:
         | Here's what you need to run a small NextCloud server:
         | 
         | * linuxserver.io container
         | 
         | * redis instance (enormous speed-up. Really, do this. Running a
         | redis container is very painless.)
         | 
         | * use SQlite for the backend DB (unless you have a huge number
         | of files)
         | 
         | * disable every module/plugin you don't NEED
         | 
         | Run a cron script that periodically fetches new images, kicks
         | over the container, and purges old images.
         | 
         | Run another script that periodically tries to run updater.phar
         | in the container, or notifies you when there's an update, or
         | subscribe to the nextcloud RSS feed, etc.
         | 
         | I recommend overriding the defaults for deleted file behavior
         | and versioning. Most folks don't want or need deleted files
         | hanging around until 50% of your disk space is used, for
         | example. The versioning defaults are fairly reasonable IMHO,
         | but I decided I didn't care about anything past two months.
         | Some folks who have lots of fast changing files will probably
         | want to tweak the retention policy because it will save second-
         | by-second versions for a few minutes to an hour (I forget
         | exactly) and that could generate a lot of IO and SSD wear
         | unnecessarily.
         | 
         | Done! I was dreading switching over from syncthing but it's
         | been painless, and the NextCloud clients are all pretty slick
         | and Just Work.
        
       ___________________________________________________________________
       (page generated 2022-05-15 23:01 UTC)