worth selfhosting immich or similar? what about backups?
from logir@feddit.it to selfhosted@lemmy.world on 03 Jan 2024 23:04
https://feddit.it/post/4552940

I have recently repurposed and old Hp Stream to a home server and successfully run Immich. I really like it and even a small 500GB disk is way more than the 15GB Google offers.

My issue though is about backup. I would only be comfortable if all the data is backed up in an off-site server (cloud). But the back up storage will probably cost as much as paying for a service like ente or similar, directly replacing Google photo.

What am I missing? Where do you store your backup?

#selfhosted

threaded - newest

butitsnotme@lemmy.world on 03 Jan 2024 23:19 next collapse

I backup to a external hard disk that I keep in a fireproof and water resistant safe at home. Each service has its own LVM volume which I snapshot and then backup the snapshots with borg, all into one repository. The backup is triggered by a udev rule so it happens automatically when I plug the drive in; the backup script uses ntfy.sh (running locally) to let me know when it is finished so I can put the drive back in the safe. I can share the script later, if anyone is interested.

StrawberryPigtails@lemmy.sdf.org on 03 Jan 2024 23:50 next collapse

Please! That sounds like a slick setup.

butitsnotme@lemmy.world on 26 May 2024 22:51 collapse

I followed the guide found here, however with a few modifications.

Notably, I did not encrypt the borg repository, and heavily modified the backup script.

#!/bin/bash -ue

# The udev rule is not terribly accurate and may trigger our service before
# the kernel has finished probing partitions. Sleep for a bit to ensure
# the kernel is done.
#
# This can be avoided by using a more precise udev rule, e.g. matching
# a specific hardware path and partition.
sleep 5

#
# Script configuration
#

# The backup partition is mounted there
MOUNTPOINT=/mnt/external

# This is the location of the Borg repository
TARGET=$MOUNTPOINT/backups/backups.borg

# Archive name schema
DATE=$(date '+%Y-%m-%d-%H-%M-%S')-$(hostname)

# This is the file that will later contain UUIDs of registered backup drives
DISKS=/etc/backups/backup.disk

# Find whether the connected block device is a backup drive
for uuid in $(lsblk --noheadings --list --output uuid)
do
        if grep --quiet --fixed-strings $uuid $DISKS; then
                break
        fi
        uuid=
done

if [ ! $uuid ]; then
        echo "No backup disk found, exiting"
        exit 0
fi

echo "Disk $uuid is a backup disk"
partition_path=/dev/disk/by-uuid/$uuid
# Mount file system if not already done. This assumes that if something is already
RootBeerGuy@discuss.tchncs.de on 04 Jan 2024 06:02 next collapse

I am super curious about the udev triggering, didn’t know thats possible!

butitsnotme@lemmy.world on 26 May 2024 22:52 collapse

See my other reply here.

Nilz@sopuli.xyz on 03 Jan 2024 23:51 next collapse

This sounds really interesting, please share.

butitsnotme@lemmy.world on 26 May 2024 22:52 collapse

See my other reply here.

governorkeagan@lemdro.id on 04 Jan 2024 13:07 collapse

I would love to see your script! I’m in desperate need of a better backup strategy for my video projects

butitsnotme@lemmy.world on 26 May 2024 22:52 collapse

See my other reply here.

Decronym@lemmy.decronym.xyz on 04 Jan 2024 18:05 collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
LVM (Linux) Logical Volume Manager for filesystem mapping
RAID Redundant Array of Independent Disks for mass storage
VPN Virtual Private Network
ZFS Solaris/Linux filesystem focusing on data integrity

4 acronyms in this thread; the most compressed thread commented on today has 7 acronyms.

[Thread #401 for this sub, first seen 4th Jan 2024, 18:05] [FAQ] [Full list] [Contact] [Source code]