From 1c508ad64e7c61d53e07bc9a6ea1ddaf4168d8a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
Date: Tue, 26 Apr 2022 16:19:00 -0400
Subject: [PATCH] add full migration procedure between servers

---
 service/BTCpayserver.md | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/service/BTCpayserver.md b/service/BTCpayserver.md
index fe9f0d0b..f019bffd 100644
--- a/service/BTCpayserver.md
+++ b/service/BTCpayserver.md
@@ -122,6 +122,33 @@ btcpay.torproject.net to btcpayserver.torproject.org in the past), you
 
     /root/BTCPayServer/btcpayserver-docker/changedomain.sh btcpay.torproject.org
 
+### Full migration procedure
+
+Back from the top, migrating from server A to server B, with a rename,
+should be like this. This assumes server B followed the [installation
+procedure](#installation) and has an up to date blockchain.
+
+On server A:
+
+    systemctl stop btcpayserver
+    tar cfz backup.tgz /var/lib/docker/volumes/
+
+Copy `backup.tgz` to server B.
+
+On server B:
+
+    systemctl stop btcpayserver
+    mv /var/lib/docker/volumes/generated_bitcoin_datadir/ /var/lib/docker/generated_bitcoin_datadir.bak/
+    rm -rf /var/lib/docker/volumes/
+    tar -C / -x -f -z backup.tgz
+    mv /var/lib/docker/volumes/generated_bitcoin_datadir.bak/ /var/lib/docker/generated_bitcoin_datadir/
+    /root/BTCPayServer/btcpayserver-docker/changedomain.sh btcpay.torproject.org
+    systemctl start btcpayserver
+
+Make sure to update the target of the donation form on
+`donate.torproject.org`. See for example [merge request
+tpo/web/donate-static!76](https://gitlab.torproject.org/tpo/web/donate-static/-/merge_requests/76).
+
 ### Faulty upstream procedure
 
 Upstream has a [backup procedure](https://docs.btcpayserver.org/Docker/#how-can-i-back-up-my-btcpay-server) but, oddly, [no restore
-- 
GitLab