hi peeps.

Im early on my selfhosting journey and managed to setup some things as a test in docker. the main service im looking to run is ERPNext. after a while I got it up and running so now I want to back this up including all the customization I did in the app.

where to start with this? any intuitive guide?

  • 73ms@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Modern filesystems like ZFS have snapshots and the ability to incrementally copy those around even over the network. I’d suggest considering using those instead of something that operates on top of the filesystem.

      • captcha_incorrect@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        28 days ago

        A snapshot is like copying a the files in the snapshot to another location, while the original files remain as is and can be written to or read from.

        As an example, if you have a folder, let’s say /important/secret/stuff, and you want to take a backup of it. You have to make sure that nothing is writing to those files while the backup is running, otherwise the backup risk being corrupted. (This is because if the backup starts to read the file, and halfway through the first part of the file changes, you now have a backuped file that half the old and half the new file).

        With a snapshop, you can “copy” /important/secret/stuff to some other location, run a backup reading from this other location and then remove it. Any changes to the original files will not affect the backup since the backup is reading from the “copied” files (snapshot).

        So what you do is take a snapshot before running the backup, have the backup read from the snapshot and when it is complete, remove the snapshot.

      • 73ms@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        Well there’s software that can make it easier. Just an option. For ZFS specifically there’s zfs_autobackup which I’ve got experience with and I haven’t tried this but just found out about a Web UI that works with it: https://github.com/natankeddem/bale

  • Alvaro@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    My setup is easy and reliable:

    Bash script that runs restic to backup to backblaze with a 90 day retention snapshot policy and a systemd service + timer.

    It runs everyday, everything is backedup to b2, and I don’t need to bother with it.

    Pros:

    • easy
    • quick
    • reliable
    • private (restic encrypts before sending)
    • don’t need to worry about multiple backups as backblaze does it for me (3-2-1 system)

    Cons:

    • costs (very little) money (backblaze is basically the cheapest provider)
    • long restore time as it would be slow to download
    • restore costs (pay per gb downloaded)
  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    In addition to daily backups, once a month I image the drive. I wrote a simple script triggered by a cron job to image the drive to a NAS backup. The daily backups go to 3 different offsite storage facilities, and two go to separate NAS drives. All drive images are kept both local and off premise as well. So, for individual files, etc, I can restore them from the daily backups. If the wheels fall off, I can restore the whole drive from an image. Might be a bit over engineered but I’ve been caught a few times and so I just decided that won’t happen again.

  • lietuva@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    I started selfhosting month ago. I’ve came across Borg Web Ui. Its borg, but wrapped in nice web ui. I managed to setup daily local backups to external drive without struggling in the CLI. Borg web ui provides more dumbed down documentation (which is good for me). I’ve also setup to send notification to my phone when the backup is successful. I used NTFY for that