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
This commit is contained in:
Slavi Pantaleev 2019-06-12 09:36:19 +03:00 committed by GitHub
parent a8dc0befa9
commit 8a7b3d5bd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,7 +1,8 @@
# Migrating to new server # Migrating to new server
1. Backup directory `/matrix`. Make sure to preserve owner and permission (use `cp -p`)! 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. Remove old server from matrix-docker-ansible-deploy `hosts` file and add new server. 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. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`. This will create the matrix user and group. 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. Copy backup from old server to new server. Make sure to preserve owner and permission (use `cp -p`)! 4. Make sure your DNS records are adjusted to point to the new server's IP address
5. Run `ansible-playbook -i inventory/hosts setup.yml --tags=start` 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