#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 disable --now $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