this post was submitted on 17 Feb 2024
88 points (97.8% liked)

Selfhosted

48330 readers
803 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

What storage software could I run to have an archive of my personal files (a couple TB of photos) that doesn't require I keep a full local copy of all the data? I like the idea of a simple and focused tool like Syncthing, but they seem to be angling towards replication.

Is the simple choice to run some S3-like backend and use CLI or other client to append and browse files? I'd love something with fault tolerance that someone can gradually add disks to. If ceph were either less complicated or used less resources I'd want to do that.

top 50 comments
sorted by: hot top controversial new old
[–] Everythingispenguins@lemmy.world 22 points 1 year ago (1 children)

Punch cards. Is it the best no but no one is going to bother to steal my data. Encryption through inconvenience

[–] jkrtn@lemmy.ml 19 points 1 year ago

Do a riffle shuffle to make them even more secure!

[–] skilltheamps@feddit.de 15 points 1 year ago (4 children)

that doesn't require I keep a full local copy of all the data

If you don't do that, the place that you call "backup" is the only place where it is stored - that is not a Backup. A backup is an additional place where it is stored, for the case when your primary storage gets destroyed.

load more comments (4 replies)
[–] solrize@lemmy.world 10 points 1 year ago (1 children)

I use Borg Backup to a Hetzner storage box but doing the same thing to a disk array would work fine. How much data are you talking about? What is the usage picture? Backup and archiving are really not the same thing.

[–] jkrtn@lemmy.ml 1 points 1 year ago (1 children)

I was looking at Borg but that's one of the tools where it seems like I need the entire replicated copy of the dataset locally to add more. I believe Borg can open a view into previous versions of the data, so it's technically append only, but I'd find that process tedious.

These are a couple TB and mostly photos I've taken. I'd like to be able to browse and edit at some point, but my primary concern right now is keeping a copy of everything.

[–] solrize@lemmy.world 2 points 1 year ago (1 children)

Yeah that's more of an archive than a backup scenario. I have a small self hosted Nextcloud that I use for stuff like that. For a few TB, you might consider Hetzner Storage Cloud which is really Nextcloud. It is backed up daily which is a help.

[–] jkrtn@lemmy.ml 1 points 1 year ago (1 children)

How was it setting up and running Nextcloud? I'm very curious about their office software, looks fun.

[–] solrize@lemmy.world 2 points 1 year ago

As I remember, setting it up was kind of a pain, but once runnnig it hasn't neded attention. I don't use the fancy apps. Also, by now there might be an apt package or docker container or something of that sort. I haven't used their fancy apps much. My main use of it is to upload photos from my phone so I can access them from other devices.

[–] GBU_28@lemm.ee 8 points 1 year ago (1 children)
[–] anzo@programming.dev 5 points 1 year ago

Rclone.org is poetry then ;)

[–] const_void@lemmy.ml 7 points 1 year ago

rsync and another hard drive

[–] deegeese@sopuli.xyz 7 points 1 year ago (1 children)

Are we talking personal offsite backup, or a commercial cloud service?

For cloud backups I like BackBlaze but I’ve never tried to use it as a general cloud storage drive.

[–] jkrtn@lemmy.ml 2 points 1 year ago (1 children)

This would be self-hosted and local, one of the locations in a 3-2-1 strategy. BackBlaze would work for an offsite but I already have that portion covered.

[–] deegeese@sopuli.xyz 2 points 1 year ago (1 children)

that doesn't require I keep a full local copy of all the data

So you want a local self hosted backup, but also not a full copy? So like backup only recently changed files?

[–] jkrtn@lemmy.ml 1 points 1 year ago (2 children)

I want like one local device to have a full copy, but the devices writing new data into that one do not need a full copy.

[–] deegeese@sopuli.xyz 5 points 1 year ago (1 children)

I think you just described using a NAS as primary storage.

[–] jkrtn@lemmy.ml 1 points 1 year ago (3 children)

Do you have a software you like for that?

[–] AtariDump@lemmy.world 3 points 1 year ago

Open Media Vault

[–] deegeese@sopuli.xyz 2 points 1 year ago

It’s basically a RAID + File shares like SMB.

Loads of DIY options, but I use a Synology so I don’t need to mess with anything.

[–] teawrecks@sopuli.xyz 2 points 1 year ago

I've been using TrueNas with a nightly sync to Backblaze for years and I like it.

It used to be called FreeNas and used FreeBSD. Now the BSD version is called TrueNas Core, and a new Linux based version is called TrueNas Scale.

I would go with TrueNas Scale if I were starting a new one today. You probably won't use the "jail" functionality immediately, but they're super handy, and down the line if you start playing with them, you'll run into fewer compatibility issues running Linux vs BSD.

[–] ironsoap@lemmy.one 2 points 1 year ago (1 children)

In technical terms you mean doing an incremental or differential back up to a local network storage location, correct?

[–] jkrtn@lemmy.ml 1 points 1 year ago

"Incremental" sounds right. I want it to act like rsync without deleting files on the destination, so all the folders are merged. (It would be cool if it kept versions but I don't absolutely need that.) Tools like Borg or Restic look great, but I have been searching to see if they support this kind of usage and they seem not to.

[–] DeltaTangoLima@reddrefuge.com 6 points 1 year ago (2 children)

I use rclone, with encryption, to S3. I have close to 3TB of personal data backed up to S3 this way - photos, videos, paperless-ngx (files and database).

Only readable if you have the passwords configured on my singular backup host (a RasPi), or stored in Bitwarden.

[–] ironsoap@lemmy.one 2 points 1 year ago (1 children)

This alongside using Backblaze is what I would suggest assuming you are thinking online. Cheap and reliable, also relatively easy via a cron job. https://help.backblaze.com/hc/en-us/articles/1260804565710-Quickstart-Guide-for-Rclone-and-B2-Cloud-Storage

[–] DeltaTangoLima@reddrefuge.com 3 points 1 year ago

Backblaze don't have a POP in my country, unfortunately.

[–] nullPointer@programming.dev 1 points 1 year ago* (last edited 1 year ago)

tarsnap makes use of S3. does a decent deduplication job as well

[–] YurkshireLad@lemmy.ca 5 points 1 year ago (1 children)
[–] jkrtn@lemmy.ml 1 points 1 year ago (1 children)

That's top of my list for moving the files if I do an S3 or WebDAV backend. I'm overthinking this, aren't I? Just find a WebDAV server, set it up, use rclone to append files and pretty much everything else will be able to browse.

[–] YurkshireLad@lemmy.ca 2 points 1 year ago

Haha it's easy to overthink things sometimes. I'm guilty of that. I'm using SFTPGo at home to serve files from a small server.

[–] JakenVeina@lemm.ee 4 points 1 year ago

rsync, for sure. That's what I used when I had to migrate a 10TB datastore to a new machins.

[–] hperrin@lemmy.world 4 points 1 year ago (2 children)

All of my machines back up to my home server’s RAID over WebDAV with Nephele.

Then every few days I’ll manually sync them to a server at my parents’ house with a single huge HDD using rsync. I do this manually so that if anything happens to my home server (like ransomware) it doesn’t mirror destroyed data.

Since the Nephele share is just WebDAV, I can mount it locally and move things into it that I don’t want local anymore.

I created Nephele, and I just finished writing an encryption plugin. I wrote it because I’m also going to write an S3 adapter. That way, you can store things in S3, but they’ll be encrypted, so Amazon can’t see them.

[–] jkrtn@lemmy.ml 2 points 1 year ago

This is really cool. I ended up trying something similar: serving from a ZFS pool with SeaweedFS. TBD if that's going to work for me long term.

I would definitely be able to manually sync the SeaweedFS files with rsync to another location but from what I see it requires me to use their software to make sense of any structure. I might be able to mount it and sync that way, hopefully performance for that is not too bad.

Syncing like that and having more control over where the files are placed on the RAID is very cool.

[–] blackbirdbiryani@lemmy.world 2 points 1 year ago (2 children)

Wouldn't syncing automatically every few days give you the same protection though?

[–] jkrtn@lemmy.ml 1 points 1 year ago

Protection against if it happens and they have not noticed within those few days. Probably especially important if they leave the system running while on vacation.

[–] hperrin@lemmy.world 1 points 1 year ago

I’m assuming I would notice, because none of my services on the machine would work anymore.

[–] zeluko@kbin.social 4 points 1 year ago* (last edited 1 year ago) (1 children)

So i understood you just want some local storage system with some fault tolerance.
ZFS will do that. Nothing fancy, just volumes as either blockdevice or ZFS filesystem.

If you want something more fancy, maybe even distributed, check out storage cluster systems with erasure coding, less storage wasted than with pure replication, though comes at reconstruction cost if something goes wrong.

MinIO comes to mind, tough i never used it.. my requirements seem to be so rare, these tools only get close :/
afaik you can add more disks and nodes more or less dynamically with it.

load more comments (1 replies)
[–] computergeek125@lemmy.world 3 points 1 year ago* (last edited 1 year ago)

What platform?

Another user said it - what your asking for isn't a backup, it's just data transfer.

It sounds like you're looking for a storage backend that hosts all your data and can download data to the client side on the fly.

If your use case is Windows, Nextcloud Desktop may be what you looking for. I have a similar setup with the game clips folder. It detects changes and auto uploads then, while deleting less recently used data that's properly server side. This feature might be in Mac but I haven't tested it.

Backup wise, I capture an rsync of the nextcloud database and filesystem server-side and store it on a different chassis. That then gets backed up again to a USB drive I can grab and run.

Nextcloud also supports external storage, which the server directly connects to: https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/external_storage_configuration_gui.html

[–] thagoat@lemmy.sdf.org 3 points 1 year ago* (last edited 1 year ago)

Hetzner storage box, rsync and a bash script

[–] boblemmy@lemmy.world 3 points 1 year ago

Where will the target be? Online or local? Rsync is really easy to use and the target files are browse-able. I could be too dense but I find online buckets aren't easily browse-able. Even a homemade NAS might be a good choice and it's easily scalable.

[–] Alpha71@lemmy.world 3 points 1 year ago
[–] BearOfaTime@lemm.ee 2 points 1 year ago

Syncthing can do send only. It's pretty configurable.

But I'd probably use a cloud storage like storj.io, and tools like duplicati.

[–] Dremor@lemmy.world 2 points 1 year ago

You could run a WebDAV server, like Nextcloud.

On windows it supports thin sync (meaning that it keep a reference to the file instead of the whole file), on Linux not yet, as it is still in alpha (but you can just connect it as a remote disk and be done with it. That's how I do with mines).

If you don't want the whole Nextcloud, there are standalone cli WebDAV servers.

[–] Nomecks@lemmy.ca 1 points 1 year ago

Save your files to a local s3 object storage mount, enable versioning for immutability and use erasure coding for fault tolerance. You can use Lustre or some other S3 software for the mount. S3 is great for single user file access. You can also replicate to any cloud based S3 for offsite.

[–] spez_@lemmy.world 1 points 1 year ago

Restic with Backrest: https://forum.restic.net/t/backrest-a-cross-platform-backup-orchestrator-and-webui-for-restic/7069

Although I use ResticProfile atm with RClone to sync to backblaze B2

load more comments
view more: next ›