Gregory-L's picture
fork mindXtrain from GitHub (Professor-Codephreak/mindXtrain@661bd41) as the mindX-specific line
dfb775d verified
Raw
History Blame Contribute Delete
1.59 kB
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0
# (c) 2026 BANKON — all rights reserved.
#
# Uninstall WordPress.agent from a VPS.
# Removes the service unit, install dir, and (with --purge) the env file and user.
#
# Usage:
# sudo bash scripts/uninstall.sh # leave env + user
# sudo bash scripts/uninstall.sh --purge # remove everything
set -euo pipefail
INSTALL_DIR="/opt/wordpress-agent"
ENV_DIR="/etc/wordpress-agent"
SERVICE_USER="wpagent"
SERVICE_GROUP="wpagent"
PURGE=0
for arg in "$@"; do
case "${arg}" in
--purge) PURGE=1 ;;
*) echo "Unknown arg: ${arg}" >&2; exit 1 ;;
esac
done
require_root() {
if [[ "${EUID}" -ne 0 ]]; then
echo "ERROR: must run as root" >&2
exit 1
fi
}
stop_service() {
if systemctl list-unit-files | grep -q '^wordpress-agent.service'; then
systemctl disable --now wordpress-agent.service || true
rm -f /etc/systemd/system/wordpress-agent.service
systemctl daemon-reload
fi
}
remove_files() {
rm -rf "${INSTALL_DIR}"
if [[ "${PURGE}" -eq 1 ]]; then
rm -rf "${ENV_DIR}"
if id "${SERVICE_USER}" >/dev/null 2>&1; then
userdel "${SERVICE_USER}" || true
fi
if getent group "${SERVICE_GROUP}" >/dev/null; then
groupdel "${SERVICE_GROUP}" || true
fi
fi
}
main() {
require_root
stop_service
remove_files
echo "WordPress.agent uninstalled."
if [[ "${PURGE}" -eq 0 ]]; then
echo "Note: ${ENV_DIR} preserved. Pass --purge to remove."
fi
}
main "$@"