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!)
It has pretty web interface, but it was just unusable where it mattered.
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.
I also disabled every module and plugin I didn't consider essential.
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.
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.
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.
I am using my own domain and I am using OVH as my mail provider.
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.
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.
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.
I believe that’s why the author was avoiding NextCloud.
* 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.
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.
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.