Backup multiple instances on a centralized one

I’m currently planning on deploying some YNH at my job and in some other friendly companies and i was wondering about backup management.

In my idea, each company will have its own server with local backups (likely an USB SSD) but i would like to deploy one more server with a beefed up redundant raid so that backups can also be stored in a remote computer. I was thinking of Restic with multiple repos (one per server).

Has anyone done something like that ? Any advice or comment ?

1 Like

bump ?

1 Like

Have a look into Archivist, maybe? Sounds flexible enough to tweak your own infrastructure.

I’ll look into that… It is not maintained though, so it might cause problems with future YNH updates.

Why do you think restic would not do the job ?

Us packaging team will keep an eye on it. It should be independent enough on the system version to work on its own.

I have not written that at all. I was merely pointing out existing solutions. :slight_smile:

There is also borg and borgserver that works pretty well.
(And if I remember correctly, it could even replace the current YunoHost backup, somewhere in the backlog)

And it could allow multiple independant users (EDIT : by users i meant separate YNH instances running on distinct machines and locations) to backup separatly their data ? Asking for both borg and archivist

Yeah i kinda misinterpreted that one :disguised_face:

On borg, you say at the installation what you want to backup.
I think (but you can just check it without installing, start the installation process and just do not click install) you can check “all users data”, “system”, and the apps.

Ok kind of like the built in backup engine, but in the first place i was wondering about multiple instances running on separate machines (YNH1, YNH2, YNH3, etc.) to backup on a single one (YNH0) with centralizes backups… I’ll edit my last post to clarify that.

Borg backup, and I think all other backup apps, use the buildt-in engine to generate the files to save :slightly_smiling_face:

You can have how many servers to backup as you want, and how many storage server as you want, and link them all together :slightly_smiling_face:

A → B
B → C
C → A

Is also possible, or also

A → Z
B → Z
C → Z

Or whatever you like :slightly_smiling_face:

look into using rest-server it is much faster than scp if you were considering that.

i would suggest checking out the restic forums. There are many threads like this and you can see the ideas others have suggested.

This isn’t really a yunohost question, unless you are planning to do yunohost backup and then sending those backups to a restic repo.

i currently have my yunohost running something similar to what you have mentioned. i have daily cron job sending restic data (home folder and nextcloud data directory) to a repo on another server that is running rest-server.

sounds like a great project!

That’s what i want ! Another important thing is that every instance has a private access to only its own remote backups, and only its own. I guess if each instances has a separate account on the backup hosting instance it should be ok.

i’ll check this out, thanks !

Some similiar questions of something similiar to what you want with rest-server --private-repos

should give you some ideas of things to try. good luck! let us know how it works out.

1 Like

Using borgserver, you have to setup one instance per client, so each one only have access to it’s own files.

You mean install borg server once per client right ?

Yes.
As the borg executable will be shared (I think, I did not check but I think it use the system one) there will just be multiple configurations.

I do this for my personal setup, I backup multiples Ynh servers on a central one. Works like a charm with Borg and borg-server, to each its own instance/account :smiley_cat: :v:

1 Like

Great ! Thanks for your feedback, if i get this straight you :

  • setup one YNH server which sole purpose is to receive backup data, let’s call it YNH0
  • on this YNH0 you install one borg server per client (3 clients = on YNH0 : 3 borg servers)
  • you install borg on each YNH client with each its own borg server API keys
  • you’re in business

Exactly!
And to be extra-precise : the 3 borg clients have to be set up first, since you will need to paste their public key in the borg-server_ynh install process.

(that is, if you want to keep it simple and use only ynh processes. But you can also tweak borg’settings “by hand” later on if needed : storage quota, keys, etc…).

1 Like