For personal projects, I work on my main laptop and have a remote set to my server which runs in my garage. I push changes from my laptop there. That server gets backed up to a S3 like cloud storage bucket. The backups are all encrypted on my server before going to the cloud.
All you would have to add is the off-site backup from your laptop. If you want to share your code on Github, Codeberg, GitLab, etc. you can just add additional remotes in git and the push will go to all of them.
I actually use rclone. It’s kind of rsync++, so only copies differences. It also handles the encryption for me. I think I have it running about every 5 minutes on that server. Most of the time it only runs for a few seconds to verify that nothing has changed.
For personal projects, I work on my main laptop and have a remote set to my server which runs in my garage. I push changes from my laptop there. That server gets backed up to a S3 like cloud storage bucket. The backups are all encrypted on my server before going to the cloud.
All you would have to add is the off-site backup from your laptop. If you want to share your code on Github, Codeberg, GitLab, etc. you can just add additional remotes in git and the push will go to all of them.
This is pretty cool, so you have a cron job to secure tarball and push it to a cloud? How often works for you?
I actually use rclone. It’s kind of rsync++, so only copies differences. It also handles the encryption for me. I think I have it running about every 5 minutes on that server. Most of the time it only runs for a few seconds to verify that nothing has changed.