this post was submitted on 12 Jul 2023
81 points (97.6% liked)

Selfhosted

39921 readers
292 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 1 year ago
MODERATORS
 

I just started getting into self hosting using docker compose and I wonder about possible backup solutions. I only have to safe my docker config so far, but I want host files as well. What software and hardware are you using for backup?

top 50 comments
sorted by: hot top controversial new old
[–] YonatanAvhar@programming.dev 35 points 1 year ago (3 children)

At the moment I'm doing primarily hopes and prayers

[–] Llamajockey@lemmy.world 4 points 1 year ago

I had to upgrade to Hopes&Prayers+ after I ran out of hope and my prayers kept getting return to sender.

[–] webjukebox@mujico.org 3 points 1 year ago* (last edited 1 year ago)

I was in the same boat, until my prayers weren't listened and my hopes are now dead.

I lost some important data from my phone a few days ago. My plan was to backup at night but chaos was that same day in the morning.

load more comments (1 replies)
[–] BitSound@lemmy.world 18 points 1 year ago (3 children)

I've been using Borg to back my stuff up. It gets backed up to rsync.net, which has good support for Borg:

https://www.rsync.net/products/borg.html

If you're good enough at computers, you can even set up a special borg account with them that's cheaper and has no tech support.

[–] ErwinLottemann@kbin.social 6 points 1 year ago (2 children)

I was a rsync.net user for many years and recently switched to borgbase, because of how easy it is to manage multiple backup targets.

[–] tables@kbin.social 3 points 1 year ago

I'm on the same boat right now, borg and borgbase.

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

That looks cool, and they've got some other nifty looking things like https://www.pikapods.com/. Any idea how stable the company is? I partially like rsync.net because it's pretty unlikely to just disappear someday.

[–] neardeaf@lemm.ee 4 points 1 year ago (3 children)

Seconding this. On my unRAID host, I run a docker container called “Vorta” that uses Borg as its backend mechanism to backup to my SynologyNAS over NFS. Then on my Syno, run two backup jobs using HyperBackup, one goes to my cousin’s NAS connected via a Site-to-Site OpenVPN connection on our edge devices (Ubiquity Unifi Security Gateway Pro <-> UDM Pro), the other goes to Backblaze B2 Cloud Storage.

OP, let me know if you need any assistance setting something like this up. Gotta share the knowledge over here on Lemmy that we’re still used to searching evil Reddit for.

load more comments (3 replies)
[–] stridemat@lemmy.world 2 points 1 year ago

Love Borg and the associated docker containers and the like. Really is set and forget!

[–] 0110010001100010@kbin.social 6 points 1 year ago (1 children)

Local backup to my Synology NAS every night which is then replicated to another NAS at my folks house through a secure VPN tunnel. Pretty simple and easy to deploy.

[–] Greidlbeere@feddit.de 1 points 1 year ago (2 children)

Sounds good. What do you use for replication?

[–] neardeaf@lemm.ee 5 points 1 year ago

Most likely Hyper Backup & Hyper Vault, two applications built into Synology’s DSM software that runs on their NAS devices.

[–] 0110010001100010@kbin.social 2 points 1 year ago* (last edited 1 year ago)

Just simple old rsync. The nas at the far-end is an old QNAP I had lying around.

[–] bier@lemmy.blahaj.zone 5 points 1 year ago

my 20 TB storage is currently hosted by Hetzner on a SMB Share with a acompanying server The storage is accessable via NFS/SMB i have a Windows 10 VPS running Backblaze Personal Backup for 7$/Month with unlimited storage while mounting the SMB share as a "Physical Drive" using Dokan because Backblaze B1 doesn't allow backing up Network shares If your Storage is local you can use the win Backup Agent in a Docker container

[–] francisco_1844@discuss.online 5 points 1 year ago

Restic for backup - can send backups to S3 and SFTP amongst other target options.

There are S3 (block storage) compatible services, such as Backblaze's B2, which are very affordable for backups.

[–] kaotic@lemmy.world 5 points 1 year ago* (last edited 1 year ago)

I've had excellent luck with Kopia, backing up to Backblaze B2.

At work, I do the same to a local directory in my company provided OneDrive account to keep company data on company resources.

[–] ComptitiveSubset@lemmy.world 4 points 1 year ago* (last edited 1 year ago)

For app data, Borg as backup/restore software. Backup data is then stored on Hetzner as an offsite backup - super easy and cheap to setup. Also add healthchecks.io to get notified if a backup failed.

Edit: Backup docker compose files and other scripts (without API keys!!!) with git to GitHub.

[–] gobbling871@lemmy.world 4 points 1 year ago* (last edited 1 year ago)

I use restic (and dejadup just to be safe) backing up to multiple cloud storage points. Among these cloud storage points are borgbase.com, backblaze b2 and Microsoft cloud.

[–] DataDreadnought@lemmy.one 4 points 1 year ago (1 children)

I doubt your using NixOS so this config might seem useless but at its core it is a simple systemd timer service and bash scripting.

To convert this to another OS you will use cron to call the script at the time you want. Copy the part between script="" and then change out variables like the location of where docker-compose is stored since its different on NixOS.

Let me explain the script. We start out by defining the backupDate variable, this will be the name of the zip file. As of now that variable would be 2023-07-12. We then go to each folder with a docker-compose.yml file and take it down. You could also replace down with stop if you don't plan on updating each night like I do. I use rclone to connect to Dropbox but rclone supports many providers so check it out and see if it has the one you need. Lastly I use rclone to connect to my Dropbox and delete anything older than 7 days in the backup folder. If you end up going my route and get stuck let me know and I can help out. Good luck.

systemd = {
      timers.docker-backup = {
        wantedBy = [ "timers.target" ];
        partOf = [ "docker-backup.service" ];
        timerConfig.OnCalendar= "*-*-* 3:30:00";
      };
      services.docker-backup = {
        serviceConfig.Type = "oneshot";
        serviceConfig.User = "root";
        script = ''
        backupDate=$(date  +'%F')
        cd /docker/apps/rss
        ${pkgs.docker-compose}/bin/docker-compose down

        cd /docker/apps/paaster
        ${pkgs.docker-compose}/bin/docker-compose down

        cd /docker/no-backup-apps/nextcloud
        ${pkgs.docker-compose}/bin/docker-compose down

        cd /docker/apps/nginx-proxy-manager
        ${pkgs.docker-compose}/bin/docker-compose down

        cd /docker/backups/
        ${pkgs.zip}/bin/zip -r server-backup-$backupDate.zip /docker/apps

        cd /docker/apps/nginx-proxy-manager
        ${pkgs.docker-compose}/bin/docker-compose pull
        ${pkgs.docker-compose}/bin/docker-compose up -d

        cd /docker/apps/paaster
        ${pkgs.docker-compose}/bin/docker-compose pull
        ${pkgs.docker-compose}/bin/docker-compose up -d

        cd /docker/apps/rss
        ${pkgs.docker-compose}/bin/docker-compose pull
        ${pkgs.docker-compose}/bin/docker-compose up -d

        cd /docker/no-backup-apps/nextcloud
        ${pkgs.docker-compose}/bin/docker-compose pull
        ${pkgs.docker-compose}/bin/docker-compose up -d

        cd /docker/backups/
        ${pkgs.rclone}/bin/rclone copy server-backup-$backupDate.zip Dropbox:Server-Backup/
        rm server-backup-$backupDate.zip
        ${pkgs.rclone}/bin/rclone delete --min-age 7d Dropbox:Server-Backup/
        '';
      };
    };

load more comments (1 replies)
[–] lynny@lemmy.world 3 points 1 year ago (1 children)

Someone on lemmy here suggested Restic, a backup solution written in Go.

I back up to an internal 4TB HDD every 30 minutes. My most important files are stored in an encrypted file storage online in the cloud.

Restic is good stuff.

load more comments (1 replies)
[–] lnxtx@feddit.nl 3 points 1 year ago

VM instances on the Proxmox VE with native integration with the Proxmox Backup Server (PBS).

For non-VM a little PBS agent.

[–] angrox@feddit.de 3 points 1 year ago

At home I have a Synology NAS for backup of the local desktops. Offsite Backups are done with restic to Blackblaze B2 and to another location.

[–] hoodlem@hoodlem.me 3 points 1 year ago (1 children)

I use Backblaze B2. I was using AWS S3 but the Backblaze pricing is significantly better.

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

You should look into s3 deep glacier. It’s $0.001 GB / month. Caveat is there’s a 6 month minimum charge per object.

[–] stown@sedd.it 3 points 1 year ago

I host everything on Proxmox VM's so I just take daily snapshots to my NAS

[–] Walker@fedia.io 2 points 1 year ago

All systems backup to Synology then to AWS Glacier. Ill check out Backblaze for pricing.

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

Backblaze B2. Any software that is S3 compatible can use B2 as the target and it’s reasonably priced for the service. I backup all the PCs and services to a Synology NAS and then backup that to B2 (everything except my Plex media, that would be pricy and it’s easy enough to re-rip from disc if needed).

[–] pirate526@kbin.social 2 points 1 year ago

I run a second Unraid server with a couple of backup-related applications, as well as Duplicati. I have my main server network mounted and run scheduled jobs to both copy data from the main pool to the backup pool, as well as to Backblaze. Nice having the on-site backup as well as the cloud based.

I occasionally burn to 100gb blurays as well for the physical backup.

[–] thisbenzingring@lemmy.sdf.org 2 points 1 year ago (1 children)

veeam is pretty simple and powerful, the community version is free if you are only using it for a small environment (CPU cores is what it counts)

I havn't used it for docker but it says it is supported

load more comments (1 replies)
[–] jakoma02@czech-lemmy.eu 2 points 1 year ago

So far I have had good experience with kopia. But it is definitly less battle-tested than the other alternatives and I do not use it for too critical stuff yet.

[–] morethanevil@lmy.mymte.de 2 points 1 year ago

I rsync my data once a day to another drive via script. If I accidentaly delete files, I can easily copy them back. Then once a day, rclone makes an encrypted backup to a hetzner storagebox

[–] Rosgote@pawb.social 2 points 1 year ago

On Proxmox, I use the built-in system + storing it to my Synology NAS (RS1221+). I use Active Backup for business (filesync) to back up the Proxmox config files, and also backup the husband's PC and my work PC.

[–] vegetaaaaaaa@lemmy.world 2 points 1 year ago
[–] rambos@lemmy.world 2 points 1 year ago* (last edited 1 year ago) (1 children)

Everything:

Kopia encrypted -> another phisical drive

Kopia encrypted -> backblaze B2

  • Chron job every day at 4:15 AM

Most important folder (part of everything):

Duplicaty encrypted -> google drive

  • Also daily backup
[–] tupcakes@lemmy.world 2 points 1 year ago

I do something similar with kopia to b2. it works wonderfully.

Desktop: I was using Duplicati for years but I've recently switched to Restic directly to B2. I'm using this powershell script to run it.

Server: I'm also using restic to b2.

I also have a Qnap NAS. I'm synchronizing my replaceable data to crappy old seagate NAS locally. For the irreplaceable data that's using the Qnap backup client to B2.

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

Rsync everything besides media to a Storj free account. I also rsync my most important data(docker compose files,config files, home assistant, a few small databases) to Google drive.

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

I use kup to back up my important PC files (the basic pre-installed backup software on KDE neon), which backs up to a separate drive on my PC, and that gets synced to my Nextcloud instance on my local server, and that - along with all the other data for my containers running on it - gets backed up by Kopia to DigitalOcean spaces.

I couldn't recommend Kopia strongly enough, because you have such fine control of what gets backed up, when it gets backed up, how many to keep etc. and it is versioned so doesn't grow exponentially, and it compresses and encrypts the backup. I also have a setup where it executes a script before and after the backup starts that stops and starts the containers to maintain file integrity since nothing will be writing to the files. And it's also a Docker container so it can just fit into your current compose setup.

[–] dr_robot@kbin.social 1 points 1 year ago

ZFS send to a pair of mirrored HDDs on the same machine ever hour and a daily restic backup to S3 storage. Every six months I test and verify the cloud backup.

[–] hitagi@ani.social 1 points 1 year ago

A lot of services have some kind of way to create backup files. I have cronjobs doing that daily then uploading it to some cloud storage with rclone.

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

Rsnapshot to an external USB drive.

Probably not the best, but it works for my little 6TB OpenMediaVault server with some Docker thrown in.

[–] dtc@lemmy.pt 1 points 1 year ago

I've been using Restic for a while, and it's backing up to a Hetzner storage box (1TB).

Restic supports encryption, compression, deduplication, and can forget old backups in a spread out timeline (configurable; e.g. save one yearly, three monthly and 7 daily).

On top of this I also use healthchecks.io to make sure all backups are working.

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

Rsync custom script. I am connecting two different hard disks (1 natively + 1 remotely via ssh) to backup the disk.

1 tine per month, U unplug ny microsd fro my Raspberry Pi 4 Server and I am making a full backup of the sd in case it fails, to restore it to a new sd card.

load more comments
view more: next ›