From e8aa450d069f2d533e910978496a0b668700ecd9 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 9 Jul 2025 17:40:14 +0200 Subject: [PATCH] Refactor: Ghost (use now MySQL) (#5871) * Refactor: Ghost * update mysql --- ct/ghost.sh | 39 ++++++++++++++++++++++----------------- install/ghost-install.sh | 14 +++++++------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/ct/ghost.sh b/ct/ghost.sh index 51e6d1d7d..8b37605c6 100644 --- a/ct/ghost.sh +++ b/ct/ghost.sh @@ -20,26 +20,31 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - msg_info "Updating ${APP} LXC" + header_info + check_container_storage + check_container_resources - if command -v ghost &>/dev/null; then - current_version=$(ghost version | grep 'Ghost-CLI version' | awk '{print $3}') - latest_version=$(npm show ghost-cli version) - if [ "$current_version" != "$latest_version" ]; then - msg_info "Updating ${APP} from version v${current_version} to v${latest_version}" - $STD npm install -g ghost-cli@latest - msg_ok "Updated Successfully" - else - msg_ok "${APP} is already at v${current_version}" - fi + if ! dpkg-query -W -f='${Status}' mariadb-server 2>/dev/null | grep -q "install ok installed"; then + setup_mysql + fi + NODE_VERSION="22" setup_nodejs + + msg_info "Updating ${APP} LXC" + if command -v ghost &>/dev/null; then + current_version=$(ghost version | grep 'Ghost-CLI version' | awk '{print $3}') + latest_version=$(npm show ghost-cli version) + if [ "$current_version" != "$latest_version" ]; then + msg_info "Updating ${APP} from version v${current_version} to v${latest_version}" + $STD npm install -g ghost-cli@latest + msg_ok "Updated Successfully" else - msg_error "No ${APP} Installation Found!" - exit + msg_ok "${APP} is already at v${current_version}" fi + else + msg_error "No ${APP} Installation Found!" exit + fi + exit } start @@ -49,4 +54,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:2368${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:2368${CL}" diff --git a/install/ghost-install.sh b/install/ghost-install.sh index cee4f3d58..6d3015309 100644 --- a/install/ghost-install.sh +++ b/install/ghost-install.sh @@ -16,19 +16,19 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ nginx \ - ca-certificates + ca-certificates \ + libjemalloc2 msg_ok "Installed Dependencies" -setup_mariadb +setup_mysql msg_info "Configuring Database" DB_NAME=ghost DB_USER=ghostuser DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" - +$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" +$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Ghost-Credentials" echo "Ghost Database User: $DB_USER" @@ -37,7 +37,7 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS } >>~/ghost.creds msg_ok "Configured MySQL" -NODE_VERSION="20" setup_nodejs +NODE_VERSION="22" setup_nodejs msg_info "Installing Ghost CLI" $STD npm install ghost-cli@latest -g