I’m planning on setting up a nas/home server (primarily storage with some jellyfin and nextcloud and such mixed in) and since it is primarily for data storage I’d like to follow the data preservation rules of 3-2-1 backups. 3 copies on 2 mediums with 1 offsite - well actually I’m more trying to go for a 2-1 with 2 copies and one offsite, but that’s besides the point. Now I’m wondering how to do the offsite backup properly.

My main goal would be to have an automatic system that does full system backups at a reasonable rate (I assume daily would be a bit much considering it’s gonna be a few TB worth of HDDs which aren’t exactly fast, but maybe weekly?) and then have 2-3 of those backups offsite at once as a sort of version control, if possible.

This has two components, the local upload system and the offsite storage provider. First the local system:

What is good software to encrypt the data before/while it’s uploaded?

While I’d preferably upload the data to a provider I trust, accidents happen, and since they don’t need to access the data, I’d prefer them not being able to, maliciously or not, so what is a good way to encrypt the data before it leaves my system?

What is a good way to upload the data?

After it has been encrypted, it needs to be sent. Is there any good software that can upload backups automatically on regular intervals? Maybe something that also handles the encryption part on the way?

Then there’s the offsite storage provider. Personally I’d appreciate as many suggestions as possible, as there is of course no one size fits all, so if you’ve got good experiences with any, please do send their names. I’m basically just looking for network attached drives. I send my data to them, I leave it there and trust it stays there, and in case too many drives in my system fail for RAID-Z to handle, so 2, I’d like to be able to get the data off there after I’ve replaced my drives. That’s all I really need from them.

For reference, this is gonna be my first NAS/Server/Anything of this sort. I realize it’s mostly a regular computer and am familiar enough with Linux, so I can handle that basic stuff, but for the things you wouldn’t do with a normal computer I am quite unfamiliar, so if any questions here seem dumb, I apologize. Thank you in advance for any information!

  • Jimmycakes@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I use asustor Nas, one at my house south east US, one at my sister’s house northeast us. The asus os takes care of the backup every night. It’s not cheap but if you want it done right.

    Both run 4 drives in raid 5. Pictures backup to the hdd and a raid 1 set of nvme in the nas. The rest is just movies and TV shows for plex so I don’t really care about those. The pictures are the main thing. I feel like that’s as safe I can be.

  • pHr34kY@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    I have a job, and the office is 35km away. I get a locker in my office.

    I have two backup drives, and every month or so, I will rotate them by taking one into the office and bringing the other home. I do this immediately after running a backup.

    The drives are LUKS encrypted btrfs. Btrfs allows snapshots and compression. LUKS enables me to securely password protect the drive. My backup job is just a btrfs snapshot followed by an rsync command.

    I don’t trust cloud backups. There was an event at work where Google Cloud accidentally deleted an entire company just as I was about to start a project there.

  • ryannathans@aussie.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I use syncthing to push data offsite encrypted and with staggered versioning, to a tiny ITX box I run at family member’s house

    • rumba@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      The best part about sync thing is that you can set it to untrusted at the target. The data all gets encrypted and is not accessible whatsoever and the other side.

      • SayCyberOnceMore@feddit.uk
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        This is exactly what I’m about to do (later this week when I visit their house)

        I’ve been using syncthing for years, but any tips for the encryption?

        I was going to use SendOnly at my end to ensure that the data at the other end is an exact mirror, but in that case, how would the restore work if it’s all encrypted?

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    so if any questions here seem dumb

    Not dumb. I say the same, but I have a severe inferiority complex and imposter syndrome. Most artists do.

    1 local backup 1 cloud back up 1 offsite backup to my tiny house at the lake.

    I use Synchthing.

  • bandwidthcrisis@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I use rsync.net

    It’s not the lowest price, but I like the flexibility of access.

    For instance, I was able to run rclone on their servers to do a direct copy from OneDrive to rsync.net, 400Gb without having to go through my connection.

    I can mount backups with sshfs if I want to, including the daily zfs snapshots.

  • Onomatopoeia@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    As others have said, use tools like borg and restic.

    Shop around for cloud storage with good pricing for your use-case. Many charge for different usage patters, like restoring data, or uploading.

    Check out storj.io, I like their pricing - they charge for downloading/restore (IIRC), and I figure that’s a cost I can live with if I need to restore.

  • WeirdGoesPro@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    My ratchet way of doing it is Backblaze. There is a docker container that lets you run the unlimited personal plan on Linux by emulating a windows environment. They let you set an encryption key so that they can’t access your data.

    I’m sure there are a lot more professional and secure ways to do it, but my way is cheap, easy, and works.

    • BlueÆther@no.lastname.nz
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      I use backblaze as well, got an link to the docker container - that may save me a few dollar bucks a week and thus keep SWMBO happier

    • dave@hal9000@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      What’s the container’s name? I was about to get backblaze and then was frustrated at the cost difference between the desktop personal plan and the one for deploying on my server

  • iknowitwheniseeit@lemmynsfw.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I just use restic.

    I’m pretty sure it uses checksums to verify data on the backup target, so it doesn’t need to copy all of the data there.

  • 7rokhym@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I use Linux, so encryption is easy with LUKS, and Free File Sync to drives that rotate to a safety deposit box at the bank for catastrophic event, such as a house fire. Usually anything from the last few months are still on my mobile devices.

  • fmstrat@lemmy.nowsci.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    If you use ZFS this becomes easy, because you can do incremental backups at the block level.

    I have my home lab server and do snapshots and sends to a server at my fathers house. Then I also have an external drive that I snapshot to as well.

  • Ulrich@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I assume daily would be a bit much considering it’s gonna be a few TB worth of HDDs which aren’t exactly fast

    What is the concern here?

    • dave@lemmy.wtf
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      using a meshVPN like tailscale or netbird would another option as well. it would allow you to use proper backup software like restic or whatever, and with tailscale on both devices, it would allow restic to be able to find the pi device even if the other person moved to a new house. (although a pi with ethernet would be preferable so all they have to do is plug it in to their new network and everything would be good. if it was a pi zero then someone would have to update the wifi password)

      • huquad@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Funny you mention it. This is exactly what I do. Don’t use the relay servers for syncthing, just my tailnet for device to device networking.

      • huquad@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        My most critical data is only ~2-3TB, including backups of all my documents and family photos, so I have a 4TB ssd attached which the pi also boots from. I have ~40TB of other Linux isos that have 2-drive redundancy, but no backups. If I lose those, i can always redownload.

      • Appoxo@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        In theory you could setup a cron with a docker compose to fire up a container, sync and once all endpoint jobs are synced to shut down.
        As it seemingly has an API it should be possible.

      • huquad@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Agreed. I have it configured on a delay and with multiple file versions. I also have another pi running rsnapshot (rsync tool).

      • thejml@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Have it sync the backup files from the -2- part. You can then copy them out of the syncthing folder to a local one with a cron to rotate them. That way you get the sync offsite and you can keep them out of the rotation as long as you want.

  • dieTasse@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    If you are gonna go for TrueNAS, try Storj with TrueNAS Cloud task. TrueNAS made a partnership with Storj and the price is very good. https://www.truenas.com/truecloud-backup/

    TlDr; The data is encrypted with restic and sent to Storj S3 storage that is further fragmenting it (and encrypting it too - so double encryption) into multiple pieces (with redundancy) and storing on other peoples TrueNASes (you can also provide your unused space btw and gain some small money back).

    I am in process of setting this up (already run a working test backup) and I didn’t find anything that’s better than this integrated solution. Very cool!

  • AustralianSimon@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I have two large (8 Bay) Synology NAS. They backup certain data between each other and replicate internally and push to Back blaze. $6/mo.