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?

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

      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.

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

          Niiiice, quick question, are both of y’all running the latest UniFi Controller version & using the new WebUI view layout?

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

            His gear is v7 (Unifi and also Synology DSM) and I am still on v6 because I didn’t have a good reason to upgrade. If it works, don’t fix it, you know? Feature-wise there the same anyway just different UI. But sure, give me a good reason to upgrade, and I will :)

  • 0110010001100010@kbin.social
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    1 year ago

    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.

  • kaotic@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    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.

  • gobbling871@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    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.

  • angrox@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    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.

  • LanyrdSkynrd@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    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.

  • lynny@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 year ago

    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.

    • mr.nEJC@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks for this tip. Seems interesting - watched this tutorial/presentation video. Will try it out asap 😅

  • ComptitiveSubset@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    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.

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

    Rsync to backblaze b2. I only backup the stuff I can’t download again (photos/docs etc). It’s the cheapest option and does version control automatically for me on a 12 hourly basis.

    I then also once a week plug in my external SSD and it auto dumps changes to it via rclone.

    Google drive/takeout etc are all done periodically and put into a folder that will roll into the above backups.

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

    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
  • DataDreadnought@lemmy.one
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 year ago

    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/
            '';
          };
        };
    
    
    • thejevans@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks! I just started setting up NixOS on my laptop and I’m planning to use it for servers next. Saving this for later!

  • sv1sjp@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    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.

  • pirate526@kbin.social
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    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.