matrix-docker-ansible-deploy/roles/matrix-base/templates/usr-local-bin/matrix-remove-all.j2

49 lines
1.8 KiB
Django/Jinja

#jinja2: lstrip_blocks: "True"
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be executed as root! Aborting."
exit 1
fi
echo "WARNING! You are about to remove everything the playbook installs for {{ matrix_server_fqn_matrix }}: matrix, docker images,..."
echo -n "If you're sure you want to do this, type: 'Yes, I really want to remove everything!'"
read sure
if [ "$sure" != "Yes, I really want to remove everything!" ]; then
echo "Good thing I asked, exiting"
exit 0
else
echo "Stop and remove matrix services"
# Look for and stop services, avoiding things like
# 'matrix-synapse-worker@.service' (just a template for instantiated services; can't stop it directly).
# We use '-xtype f' and not '-type f', because we wish to match symlinks like this:
# '/etc/systemd/system/matrix-synapse.service.wants/matrix-synapse-worker@generic_worker:18111.service'
# and stop these instantiated services as well.
for s in $(find {{ matrix_systemd_path }}/ -xtype f -name "matrix-*" -printf "%f\n" | grep -v '@.service' | uniq); do
systemctl stop $s
done
# Get rid of regular service files, as well as symlinks like
# '/etc/systemd/system/matrix-synapse.service.wants/matrix-synapse-worker@generic_worker:18111.service'
# and even
# '/etc/systemd/system/multi-user.target.wants/matrix-synapse.service'.
for s in $(find {{ matrix_systemd_path }}/ -xtype f -name "matrix-*" -printf "%p\n"); do
rm -f {{ matrix_systemd_path }}/$s
done
systemctl daemon-reload
echo "Remove matrix scripts"
find {{ matrix_local_bin_path }}/ -name "matrix-*" -delete
echo "Remove unused Docker images and resources"
docker system prune -af
echo "Remove Docker matrix network (should be gone already, but ..)"
docker network rm {{ matrix_docker_network }}
echo "Remove {{ matrix_base_data_path }} directory"
rm -fr "{{ matrix_base_data_path }}"
exit 0
fi