diff --git a/ct/paymenter.sh b/ct/paymenter.sh index 7efe7a2f2..47da150ee 100644 --- a/ct/paymenter.sh +++ b/ct/paymenter.sh @@ -23,32 +23,25 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/paymenter ]]; then msg_error "No ${APP} Installation Found!" exit fi + CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) if [[ "$CURRENT_PHP" != "8.3" ]]; then - msg_info "Migrating PHP $CURRENT_PHP to 8.3" - $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb - $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb - $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' - $STD apt-get update - $STD apt-get remove -y php"${CURRENT_PHP//./}"* - $STD apt-get install -y \ - php8.3 \ - php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,redis,fpm} + PHP_VERSION="8.3" PHP_FPM="YES" PHP_MODULE="common,mysql,fpm,redis" setup_php + setup_composer sed -i 's|php8\.2-fpm\.sock|php8.3-fpm.sock|g' /etc/nginx/sites-available/paymenter.conf $STD systemctl reload nginx - msg_ok "Migrated PHP $CURRENT_PHP to 8.3" fi - RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + + RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f ~/.paymenter ]] || [[ "${RELEASE}" != "$(cat ~/.paymenter)" ]]; then msg_info "Updating ${APP} to ${RELEASE}" - echo "${RELEASE}" >/opt/${APP}_version.txt cd /opt/paymenter $STD php artisan p:upgrade --no-interaction + echo "${RELEASE}" >~/.paymenter msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}." diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index 7c6345870..f0e4129eb 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -16,42 +16,15 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ git \ - software-properties-common \ - apt-transport-https \ - ca-certificates \ nginx \ redis-server msg_ok "Installed Dependencies" setup_mariadb - -msg_info "Adding PHP Repository" -$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb -$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb -$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' -$STD apt-get update -msg_ok "Added PHP Repository" - -msg_info "Installing PHP" -$STD apt-get remove -y php8.2* -$STD apt-get install -y \ - php8.3 \ - php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis} -msg_info "Installed PHP" - -msg_info "Installing Composer" -$STD curl -fsSL https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer -msg_ok "Installed Composer" - -msg_info "Installing Paymenter" -RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') -echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt -mkdir -p /opt/paymenter -cd /opt/paymenter -curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -o paymenter.tar.gz -$STD tar -xzvf paymenter.tar.gz -chmod -R 755 storage/* bootstrap/cache/ -msg_ok "Installed Paymenter" +PHP_VERSION="8.3" PHP_FPM="YES" PHP_MODULE="common,mysql,fpm,redis" setup_php +setup_composer +fetch_and_deploy_gh_release "paymenter" "paymenter/paymenter" "prebuild" "latest" "/opt/paymenter" "paymenter.tar.gz" +chmod -R 755 /opt/paymenter/storage/* /opt/paymenter/bootstrap/cache/ msg_info "Setting up database" DB_NAME=paymenter @@ -67,6 +40,7 @@ $STD mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'local echo "Username: $DB_USER" echo "Password: $DB_PASS" } >>~/paymenter_db.creds +cd /opt/paymenter cp .env.example .env $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan key:generate --force @@ -138,11 +112,11 @@ systemctl enable --now paymenter systemctl enable --now redis-server msg_ok "Setup Service" +motd_ssh +customize + msg_info "Cleaning up" -rm -rf /opt/paymenter/paymenter.tar.gz $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" -motd_ssh -customize