From 8a7b3d5bd0ca7a349ddc1654756d6898ef65d597 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 12 Jun 2019 09:36:19 +0300 Subject: [PATCH] Make instructions simpler and safer Changes to the original are: - it tells people to stop and disable services, so that: - services won't be running while you are copying files - services won't accidentally start again later - it does the file-copying in 1 step - it does copying before running `--tags=setup-all`, so that existing files (SSL certificates, etc.) can be reused. Otherwise, the playbook starts from a blank slate, retrieves them anew, generates new signing keys anew, etc. Only to have those replaced by your own old backup later. - it mentions DNS changes - combines `--tags=setup-all,start` into a single step, thanks to the files being already copied --- docs/maintenance-migrating.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/maintenance-migrating.md b/docs/maintenance-migrating.md index 2487b674e..fcfe4e163 100644 --- a/docs/maintenance-migrating.md +++ b/docs/maintenance-migrating.md @@ -1,7 +1,8 @@ # Migrating to new server -1. Backup directory `/matrix`. Make sure to preserve owner and permission (use `cp -p`)! -2. Remove old server from matrix-docker-ansible-deploy `hosts` file and add new server. -3. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`. This will create the matrix user and group. -4. Copy backup from old server to new server. Make sure to preserve owner and permission (use `cp -p`)! -5. Run `ansible-playbook -i inventory/hosts setup.yml --tags=start` +1. Prepare by lowering DNS TTL for your domains (`matrix.DOMAIN`, etc.), so that DNS record changes (step 4 below) would happen faster, leading ot less downtime +2. Stop all services on the old server and make sure they won't be starting again. Execute this on the old server: `systemctl disable --now matrix*` +3. Copy directory `/matrix` from the old server to the new server. Make sure to preserve ownership and permissions (use `cp -p` or `rsync -ar`)! +4. Make sure your DNS records are adjusted to point to the new server's IP address +5. Remove old server from the `inventory/hosts` file and add new server. +6. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`. This will create the matrix user and group and start all services on the new server