Git Product home page Git Product logo

Comments (9)

asifbacchus avatar asifbacchus commented on September 25, 2024

Thanks for the kind words and I'm glad you got things set up and working!

Restoring is actually just a matter of doing a restore via borg and then copying the relevant files into volumes for the containers to use. But, you're right, if you're not too familiar with docker and scripts, that might be easier said than done 😋

I should probably add something to the wiki with details or maybe I should integrate it into the script? Hmm..., I'll have to think about the integration. I'm pretty busy with work this week, but I'll try to get something written up this weekend.

Are you trying to do a restore now and need some help? If so, I can maybe offer some "less formal" assistance sooner.

Let me know. Either way, excellent suggestion, thanks!

from mailcowbackup.

RavenDK83 avatar RavenDK83 commented on September 25, 2024

My knowledge about docker is still quite basic and I'm learning the whole time :). I'm just playing around with it and doing some testing, so if something bad happens, I'm ready - My plan is to use your backup script for my coming production environment.

If possible, it could be great to have it included into the script, but otherwise I'm also really happy, if you could just give some pointers on your wiki page, just when you have time, no stress :)

Thanks again for this fantastic project, it really makes it much easier to automate the whole backup process with borg!

from mailcowbackup.

asifbacchus avatar asifbacchus commented on September 25, 2024

Haven't forgotten about this! I've written up the script and just testing it now. Once any bugs are ironed out I'll add a help section to the new script and probably a brief write-up on the wiki. Just wanted to keep you updated.

Should be ready by tonight 🤞

from mailcowbackup.

asifbacchus avatar asifbacchus commented on September 25, 2024

Added a restore script to the version 3.0 release. The script is pretty straight-forward but does require some manual prep-work beforehand. I will update the wiki in a few hours.

The basic process is:

  1. Download mailcow git & run generate.sh so the snakeoil certificates are generated (yes, you need to do this even if you are using your own real certs because part of the process generates the CA list).
  2. Extract your desired borg repo to a directory on the local system (do this as root or the permissions will be screwed up).
  3. Copy your mailcow.conf and/or docker.override.yml along with any postfix customizations, etc. from your extracted backup to your clean mailcow directory. If you backed up certificates, now would be the time to copy them from your extracted backup also.
  4. Bring mailcow up as usual via docker-compose up -d && docker-compose logs -f. Wait for mailcow to initialize and then browse to your instance to ensure it's working with all default settings and nothing went wrong with the installation. This step also creates all the volumes so we have somewhere to restore your stuff.
  5. Run the restore script and provide the directory of your extracted backup via the --backup-location parameter. (run the restore script with --help to see all options).
  6. The script will take care of starting/stopping mailcow and restoring all your files. There is an option to create a log file for review also.

That should be it. Let me know if you run into any problems or have any other suggestions!

from mailcowbackup.

RavenDK83 avatar RavenDK83 commented on September 25, 2024

That's really awesome, thanks very much for this - Really appreacite it! I will do some testing during the weekend and if have any problems, I will come back :-)

from mailcowbackup.

asifbacchus avatar asifbacchus commented on September 25, 2024

Just a quick note: wiki has been updated with instructions for using the restore script and/or doing a fully manual restore. It's about 3 pages on the wiki, starting with the overview.

from mailcowbackup.

RavenDK83 avatar RavenDK83 commented on September 25, 2024

Thanks again for this awesome project and all the time, you have spend on it! Did some testing during the weekend and the restoring part is really easy to do and well documented on the wiki! Nicely done! Now the next step is to move my mailcow into production.

Dont know, if I should create a new topic for this or reuse this one :) It's not really an isssue, more a feature request :) I'm trying to apply the 3-2-1 backup approach. I would like to backup to different respositories, would it be possible to do this with your scripts? or should I just run it twice with different backup.details files?

from mailcowbackup.

asifbacchus avatar asifbacchus commented on September 25, 2024

I'm glad your testing worked out! I actually ended up using the restore script to migrate one of my servers this weekend too. So thanks for the suggestion to make the script 😄

Regarding your question: I would suggest running the script twice with different backup.details files. I think doing it that way instead of changing the script is actually more versatile for various situations while keeping the usage simple. In addition, it keeps your configurations separated and independent.

Perhaps give that a try and let me know if you run into any issues or if you disagree with my opinion.

from mailcowbackup.

asifbacchus avatar asifbacchus commented on September 25, 2024

I'm going to close this issue. Feel free to respond to it if you want/need to follow-up and I'll reopen it or you can make a new issue.

Cheers!

from mailcowbackup.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.