It sounds like your ask is for a recommendation to back up personal files from disparate locations to a server.
I use a self hosted Nextcloud instance for this purpose.
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:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
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.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
It sounds like your ask is for a recommendation to back up personal files from disparate locations to a server.
I use a self hosted Nextcloud instance for this purpose.
Nextcloud is fantastic for this especially with their desktop app!
For app settings I run pretty much everything in a container (FreeBSD jail) that can be zipped and exported easily that way. Our NAS files go to two external hard drives with rsync. One for local in house backup and one I leave at my work desk for off site backup of anything I can’t replace like the photos my wife’s taken over the last two decades.
File synchronization is not a backup.
I would recommend looking into Syncthing. I use it on all my devices and share specific folders between devices (notes mostly) and all folders back to the server. The server then backs all that up offsite as well.
Borgbackup
rsync:
#! /usr/bin/sh
TIMESTAMP_LOG="/path/to/logdir/.backuplog"
BACKUP_DEST="server:/path/to/backup/$1"
TIMESTAMP=$(date +"%Y-%m-%d %H:$M:%S")
echo "backup to:$BACKUP_DEST"
echo "Backup: $BACKUP_DEST $TIMESTAMP" >> $TIMESTAMP_LOG
pause
rsync -auvh /path/to/homedir* rhudson@$BACKUP_DEST
This should be called with a name of a target subdirectory in BACKUP_DEST.. mine are rsynca, rsyncb, rsyncc but I will change this soon for day of week based directories.
I also have certificate authentication setup on ssh on my server - that's why no password is needed.
Someday I will set up tailscale between this machine and the server.
You are trying to solve two different, but related problems, and there are discrete solutions for both.
One is a personal cloud. You need a secure place to store your shit from multiple users and devices, from multiple networks. You’ll need a mostly static IP and dyndns or your own domain, and certificates signed by a public CA/letsencrypt.
Then, you are looking for a backup application that supports rsync or sftp/scp over ssh or vpn, that is also cross compatible (Android and PC/Linux). Point this to the service above, and you are good to go.