Files
kazewp/kazewp.sh
T
2025-01-30 18:05:33 +09:00

85 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Get the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Source library files in specific order
source "${SCRIPT_DIR}/lib/colors.sh"
source "${SCRIPT_DIR}/lib/config.sh"
source "${SCRIPT_DIR}/lib/utils.sh"
source "${SCRIPT_DIR}/lib/validation.sh"
source "${SCRIPT_DIR}/lib/docker.sh"
source "${SCRIPT_DIR}/lib/caddy.sh"
source "${SCRIPT_DIR}/lib/wordpress.sh"
source "${SCRIPT_DIR}/lib/menu.sh"
#source "${SCRIPT_DIR}/lib/log.sh"
# Check if Docker is installed
if ! command_exists docker; then
install_docker
# Verify installation
if ! command_exists docker; then
echo "Docker installation failed. Please install Docker manually."
exit 1
fi
fi
# Check if Docker service is running
if ! systemctl is-active --quiet docker; then
echo "Docker service is not running. Starting Docker..."
sudo systemctl start docker
fi
# Main script
case "$1" in
"install")
DOMAIN="$2"
if [ -z "$DOMAIN" ]; then
echo "Error: Please provide a domain"
while true; do
read -p "Enter domain (e.g., example.com): " DOMAIN
if validate_domain "$DOMAIN"; then
break
fi
done
fi
install_site "$DOMAIN"
;;
"list")
list_sites
;;
"delete")
if [ -z "$2" ]; then
show_action_menu "delete"
else
delete_sites "$2"
fi
;;
"stop")
if [ -z "$2" ]; then
show_action_menu "stop"
else
stop_sites "$2"
fi
;;
"start")
if [ -z "$2" ]; then
show_action_menu "start"
else
start_sites "$2"
fi
;;
"restart")
if [ -z "$2" ]; then
show_action_menu "restart"
else
restart_sites "$2"
fi
;;
*)
show_interactive_menu
;;
esac