normalized naming to kebab case.
This commit is contained in:
parent
74b977fd65
commit
87eec1d61b
27 changed files with 21 additions and 10 deletions
86
content/posts/moving-away-from-nextcloud.md
Normal file
86
content/posts/moving-away-from-nextcloud.md
Normal file
|
@ -0,0 +1,86 @@
|
|||
+++
|
||||
title = "Moving away from Nextcloud"
|
||||
date = 2024-08-05T01:33:59-05:00
|
||||
draft = true
|
||||
+++
|
||||
|
||||
## Nextcloud
|
||||
|
||||
While Nextcloud had a lot of features and provides a nice web interface,
|
||||
(I got a lot of use out of Nextcloud's caldav server)
|
||||
I kept running into problems and limitations with it.
|
||||
One thing is maintenance. Of my entire homelab,
|
||||
I easily spent the most time troubleshooting and fixing Nextcloud,
|
||||
sometimes having to reboot the VM multiple times per week.
|
||||
Additionally, I've ran into a few annoying limitations,
|
||||
such as the sever crashing if you view a folder with too many files in the web interface or apps.
|
||||
Nextcloud does a lot of things, and does things very well,
|
||||
but I would not describe it as a rock solid piece of software.
|
||||
|
||||
Due to this, during our [move to germany](../moving-to-germany) and the resuling reorganization of the homelab,
|
||||
I decided to *finally* ditch Nextcloud, after talking about it for months.
|
||||
|
||||
## Syncthing
|
||||
|
||||
[Syncthing](https://syncthing.net/) is one of the best file syncing tools in existence,
|
||||
and I don't say that lightly.
|
||||
Syncthing is a distributed, peer to peer file syncing service.
|
||||
This means that it doesn't rely on a central, always online server ran by you or someone else,
|
||||
but that your devices directly send files between themselves whenever they are online at the same time.
|
||||
I used Syncthing to replace Nextclouds file syncing.
|
||||
|
||||
### Syncthing vs Nextcloud
|
||||
|
||||
Unlike Nextcloud, Syncthing has no web file manager,
|
||||
does not do caldav or any of the other million things you can do with Nextcloud apps,
|
||||
and requires setup on both ends to setup a syncing connection.
|
||||
In short, Syncthing does only one thing.
|
||||
But boy does it do that thing well.
|
||||
During the time I've used Syncthing,
|
||||
I've never seen it crash, hang, or corrupt a file.
|
||||
Even with a device like my phone,
|
||||
constantly loosing and regaining network access,
|
||||
files have synced perfectly, every time.
|
||||
|
||||
### Distributed?
|
||||
|
||||
With Dropbox or Google drive, files are not sent directly between your devices,
|
||||
but are sent from one device to the server,
|
||||
then from the server to other devices.
|
||||
This also applies to Nextcloud,
|
||||
the only difference being who runs and controls the server.
|
||||
With Syncthing, there is no central, authoritative server storing the 'master copy' of your files that other devices download from.
|
||||
Instead, devices all connect to each other, sending changes made on one device to all other devices they share that file with.
|
||||
This makes all of your devices into a cluster, where no device has to always be online,
|
||||
but any devices that happen to be online at the same time synchronize while they can.
|
||||
|
||||
### Introducers
|
||||
|
||||
If you have a lot of devices, making sure every device is connected to every other device can become a hassle.
|
||||
Thankfully, Syncthing has the concept of 'introducer' devices.
|
||||
In short, With an introducer, you only need to connect your devices to the introducer,
|
||||
and the introducer will make connections between any devices that share the same folder with the introducer.
|
||||
This is very useful, for example, to enable for a always online storage server,
|
||||
and it is the architecture that I used to fully replace nextcloud.
|
||||
|
||||
## File Manager
|
||||
|
||||
While Syncthing is great for file syncing between devices,
|
||||
we also wanted to be able to acess a web interface to upload, download, and view files on devices not in our Syncthing network.
|
||||
|
||||
TODO
|
||||
|
||||
## Radicale
|
||||
|
||||
The final function my family and I used nextcloud for was calander and todo list syncing.
|
||||
This was done over Nextclouds CalDav server,
|
||||
using DavX^5 as a mobile client, and Thunderbirds Lightning plugin as a desktop client.
|
||||
This was almost a more important function than filesyncing, as my wife and I use it to organize our calanders,
|
||||
Keep shopping lists, chore lists, lists of movies to watch, lists of long term projects, etc.
|
||||
(we *really* used the hell out of todo lists.)
|
||||
|
||||
For this, we used [Radicale](TODO). Radicale *only* does CalDav and CardDav syncing, nothing else,
|
||||
but between Syncthing and FileManager, thats all we needed it to do to complete the nextcloud replacement.
|
||||
Installation was incredibly simple, thanks to the existence of a prebuilt NixOs module for it.
|
||||
After about an hour of research and work, I had a Radicale server up and running on my Hetzner node,
|
||||
and had exported all of our calanders from Nextcloud and imported them into Radicale.
|
Loading…
Add table
Add a link
Reference in a new issue