bestia.dev This is a copy of the Codeberg readme, only because of SEO. Find the original on https://codeberg.org/CRUSTDE-ContainerizedRustDevEnv/codeberg_hetzner_storage_box_external_drive

codeberg_hetzner_storage_box_external_drive

File Workflow for backups for CRUSTDE
version: 2024.326.1347 date: 2024-03-26 author: bestia.dev repository: codeberg.org

tutorial License codeberg_hetzner_storage_box_external_drive

logo
codeberg_hetzner_storage_box_external_drive is a member of the CRUSTDE-ContainerizedRustDevEnv project.

Lines in md

Hashtags: #rustlang #tutorial #buildtool #developmenttool
My projects are more like a tutorial than a finished product: bestia-dev tutorials.

CRUSTDE - Containerized Rust Development Environment

These days I mostly program with Rust on Linux.
My primary desktop is Win10. Inside it I have WSL2, which is a Linux Virtual Machine. There I installed Debian 12 Bookworm. And now I can use a Linux container with Podman.

I use CRUSTDE - Containerized Rust Development Environment described here https://codeberg.org/CRUSTDE-ContainerizedRustDevEnv/crustde_cnt_img_pod.
This CRUSTDE container is ephemeral and can be destroyed at any time. The important files inside it must be pushed to remote repository, or else they will be destroyed with the CRUSTDE container.

plantuml code:
@startuml
Codeberg -> CRUSTDE: clone, pull
CRUSTDE -> Codeberg: push
@enduml

svg_codeberg_container

Codeberg backup

I want to be sure that codeberg.org is not the only place where my code is stored. I will prepare a folder on my computer to have backups of all my repositories. I will call the folder codeberg_backup_bestia_dev.
Today I manually cloned all my repositories. Later I can git pull them and have it as a backup on my notebook disk. This folder is a backup, I will not develop inside this folder.

plantuml code:
@startuml
Codeberg -> codeberg_backup: clone, pull
@enduml

svg_codeberg_backup

Hetzner Storage Box

I have a 2TB storage on Hetzner Storage Box for 8€/month. It is not cheap, but I had bad experiences with GoogleDrive and OneDrive in the early days. Maybe they are better now, but I don't want to retry everything. I am a paying customer, so I expect some responsibility from Hetzner. Maybe I am just delusional. They can go bankrupt in a matter of hours with modern financial games.

External drives

I cannot put all my eggs in the basket of Hetzner.
Eventually, I make backups of all these files. I make backups on 2 external hard drives and I keep them in separate locations. Just for fun.
I use my app backup_for_luciano to make my backups.

plantuml code:
@startuml
codeberg_backup -> StorageBox: automatic sync
StorageBox -> ext.hd_backup: backup
@enduml 

svg_hetzner_storage_box

Android Studio

When I want to make an app for Android I have to use Android Studio in Win10. All the files are pushed to remote repository. From there they are automatically synced with codeberg_backup. The complete diagram:

plantuml code:
@startuml
android_studio -> Codeberg: push
Codeberg -> codeberg_backup: pull
codeberg_backup -> StorageBox: automatic sync
StorageBox -> ext.hd_backup: backup    
@enduml

svg_android_studio

These are usually small files and having them go up and down the internet 4 times is not a tragedy. Sure, I could save some time, by copying them from one folder to the other locally. Then the sync will just index the files and not send them over the internet.

Open-source and free as a beer

My open-source projects are free as a beer (MIT license).
I just love programming.
But I need also to drink. If you find my projects and tutorials helpful, please buy me a beer by donating to my PayPal.
You know the price of a beer in your local bar ;-)
So I can drink a free beer for your health :-)
Na zdravje! Alla salute! Prost! Nazdravlje! 🍻

//bestia.dev
//codeberg.org/bestia-dev
//github.com/bestia-dev
//bestiadev.substack.com
//youtube.com/@bestia-dev-tutorials