Settings

Theme

Own your calendar and contacts with OpenBSD, Baïkal, and FOSS Android

baak6.com

166 points by heidarb 4 years ago · 62 comments

Reader

conaclos 4 years ago

An interesting alternative is Radicale [1]. Both are very lightweight. I mainly chose Radicale over Baïkal because it is written in Python. On the client side DAVx⁵ [2] do a good job.

[1] https://radicale.org/v3.html [2] https://www.davx5.com/

  • cube00 4 years ago

    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 4 years ago

      > 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.

  • andrewzah 4 years ago

    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.

  • m82labs 4 years ago

    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.

  • pkulak 4 years ago

    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 4 years ago

      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.

rollcat 4 years ago

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 4 years ago

    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 4 years ago

      > 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.

      • pseudostem 4 years ago

        >Or are you using some sort of a 2.4GHz dongle that just shows up as an audio interface?

        Yeah, stupid me never ever thought of that;-)

        >So I tend to stick to minimalist solutions such as dwm.

        I tried my hand at tiling WMs with pop!OS, I just couldn't wrap my hand around it (pun intended). I really admire people who work through all the keyboard shortcuts. It's just not for my capabilities.

        • rollcat 4 years ago

          > I tried my hand at tiling WMs with pop!OS, I just couldn't wrap my hand around it (pun intended). I really admire people who work through all the keyboard shortcuts. It's just not for my capabilities.

          I think Windows actually did a great job of making tiling more mainstream - the way windows automatically snap to the left/right half of the screen. macOS could use something like that - I've hacked something similar using Hammerspoon[1] but I think Windows does it better: it's very discoverable for regular users, and has a very intuitive shortcut for the power users (win+left/right/up).

          The world of minimalist tiling WMs suffers from the elitism factor. It's a shame that you can't get the right dose of minimalism, without making this huge leap. I think people making most of these WMs misunderstand good UX design: it's not about accommodating non-power users, it's about lowering the barrier for everyone, hackers included.

          [1]: https://github.com/rollcat/dotfiles/blob/master/.hammerspoon...

  • kingofpandora 4 years ago

    Kontact for Plasma/KDE has worked perfectly with Baïkal for me.

    • rollcat 4 years ago

      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 4 years ago

faster to use Nextcloud that does a lot more things out of the box in a single install

  • deutschepost 4 years ago

    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 4 years ago

      The Nextcloud Android app has built-in backup of contacts and calendars.

    • ekianjo 4 years ago

      You can backup contacts and calendar usually from within your email client

  • hedora 4 years ago

    I disagree. Some piece of Nextcloud always flies off the rails.

    In contrast, with Baikal, every time I get a new phone, I have to remember I self host it, then figure out which machine it's running on. Other than that, it's completely maintenance free.

    (Usually I'm nervous that sync broke since I last checked three+ years ago, so I download a backup of the DB and confirm it's actually working!)

  • pferde 4 years ago

    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.

    • jeroenhd 4 years ago

      With DAVx⁵ (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.

    • KennyBlanken 4 years ago

      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 4 years ago

      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 4 years ago

      Nextcloud totally breaks down if you try to use it for photo syncing. It can’t handle thousands of files in one directory.

      • brnt 4 years ago

        Hows Owncloud doing? They were rewriting to Go, to improve performance in such cases. I kind of lost track though.

        • Gigachad 4 years ago

          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.

dmos62 4 years ago

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.

rglullis 4 years ago

Or use DecSync [0] and eliminate the need for any central server.

[0]: https://github.com/39aldo39/DecSync

  • durazabu 4 years ago

    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 4 years ago

      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 4 years ago

        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 4 years ago

          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 4 years ago

            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?expanda...

            There's also instructions about caldav only on the migadu site here:

            https://www.migadu.com/guides/thunderbird/

            • heywoodlh 4 years ago

              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.

kkfx 4 years ago

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...

markstos 4 years ago

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.

  • KennyBlanken 4 years ago

    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.

  • oblak 4 years ago

    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 4 years ago

      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 4 years ago

      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.

poidos 4 years ago

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.

aaaaaaaaata 4 years ago

Related reading: GrapheneOS.org

tpoacher 4 years ago

just use when :p

aklemm 4 years ago

“soy infested calendar products” What does that mean?

  • baak6 4 years ago

    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.

  • dragonwriter 4 years ago

    “soy” = “badness” + right-wing culture war group identity signalling.

    • andrewzah 4 years ago

      Yep, comes from “soyboy”, a pejorative for more feminine men. The term came about from soybeans having phytoestrogen.

      • baak6 4 years ago

        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 4 years ago

      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 4 years ago

        And therefor perjorative, victim-shaming language is just the way it has to be?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection