ProxmoxVE/ct/ghost.sh

57 lines
1.5 KiB
Bash
Raw Normal View History

New script : Ghost (#1361) * add Ghost installation and update scripts * remove unnecessary installation check * Fixed link for testing * Set up testing. * Refactor Ghost installation script to streamline MySQL configuration and consolidate Node.js and npm installation steps * Update MySQL configuration in installation script to use password for flushing privileges * Bug fix * Remove separate npm installation step * Add ghost-user creation and modify Ghost installation to run as new user * Create ghost-user with proper permissions and update Ghost setup commands * Update Ghost installation script to include URL and modify service execution * Update Ghost installation to Ubuntu 24.04 and modify service execution * Downgrade Ubuntu installation version from 24.04 to 22.04 * Add npm installation check to Ghost installation script * Update Ghost installation script to install npm alongside Node.js * Add update to package list * Use ghost-cli's systemd set up * Add NOPASSWD for ghost-user during install and enable Ghost on all interfaces * Update ghost-user sudoers configuration to temporarely allow all commands without password * Fix syntax error * Update ghost version retrieval and configure MySQL with random password * Update ghost.json and clean ghost-install.sh * Update ghost installation script to use dynamic database password * Fix MySQL flush privileges command to use dynamic database password * Fix variable name for database password in ghost installation script * Add update success message only if ghost was actually updated * Remove unnecessary shellcheck directive from ghost.sh * Change back to community-scripts URLs * Update ct/ghost.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/ghost-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update ct/ghost.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/ghost-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/ghost-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/ghost-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update json/ghost.json Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Add link to detailed license + Change to Debian 12 * Update license comment format in ghost-install.sh * remove unneeded spaces * change date --------- Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-01-10 12:38:03 +00:00
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: fabrice1236
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://ghost.org/
# App Default Values
APP="Ghost"
var_tags="cms;blog"
var_cpu="2"
var_ram="1024"
var_disk="5"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
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}"
npm install -g ghost-cli@latest &> /dev/null
msg_ok "Updated Successfully"
else
msg_ok "${APP} is already at v${current_version}"
fi
else
msg_error "No ${APP} Installation Found!"
exit
fi
exit
}
start
build_container
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}"