Open lispstudent opened 8 months ago
Another possibility that came to mind, just rsync the whole docker directory?
docker stop $(docker ps -a -q)
systemctl stop docker.socket && systemctl stop docker.service
systemctl disable docker.socket && systemctl disable docker.service
rsync -avp --progress root@old_server_ip:/var/lib/docker/ root@new_server_ip:/var/lib/docker/
You're right, we need some docs on this! Over in the snikket-selfhosted repo you'll find some scripts, including a backup.sh and restore.sh.
After everything is confirmed working, raise the TTLs on your DNS records back up to something higher. This will allow the apps to (re)connect to your server more quickly during daily usage.
Give me feedback on your success following the above steps. If they seem good, I'll copy them into a documentation page. Good luck! :)
Thank you so much for the detailed instructions.
It is a bit scary for me to test, as the current Snikket VPS has about 100 online friends, and I would not want to have a long downtime if anything would go wrong.
Some users are across time zones and even if I revert the DNS, there could be some downtime if something goes wrong.
Is there a way, once I run restore.sh
on the new VPS, to modify the Snikket server and proxy settings to point a temporary test domain, refresh Let's Encrypt certificates for such test domain so I could at least verify a test account is reachable?
I was able to move Snikket to a new VPS.
My DNS provider offers minimum 300 sec. TTLs, so I preferred to change DNS right after step 2.
I will update my report after some spot checks with users, to verify all is there.
backup.sh
to a back-up directory, which can be moved off-site would suffice. Wonderful simplicity!Thank you for such clear and perfect instructions.
Kudos to Snikket and its Team!
I can confirm users had no problems. Everything worked smoothly.
Many thanks, @mwild1 !
On my side, this ticket could be closed any time it is convenient to the maintainers.
I never really understood what problem docker volumes were trying to solve.
docker(compose)'s real charm is you can take software with the outdated habit of scattering itself all over your computer and reduce it to a single, portable directory. Bonus is you you can see what the application does at a glance, 0 noise.
Just about to setup a new Snikket install and it doesn't feel like a chore at all. Prosody is awesome, and would run on one those solar calculators or a reasonably fresh potato it's so lightweight...
I miss the admin commands module from prosody, I forget the name but I found myself wanting it back! Adding this in by default definitely have my vote. I'll send a pull req...
admin commands module
I also would love to have more modules, including the admin commands.
I need to help moving a small snikket server to a new VPS with a different provider.
I have never moved a docker install, and I am not sure how to do it in snikket case, where there are 4 containers:
I read about
docker save
anddocker export
. What is the safest way to do this? Shall I do that for all 4 containers?Could some instructions be added to the admin documentation, please?