mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-06-24 00:04:56 +02:00
bf815a847b
* Update Nginx installation and mod_zip configuration Replaced nginx with nginx-extras and modified Nginx mod_zip installation to use the native Debian module. * Update source URL for build functions in romm.sh * Update install script URL in build.func * Update romm-install.sh for Nginx and mod_zip installation Updated the installation script to include Nginx and libpcre2-dev, and modified the process for installing the Nginx mod_zip module. * Install Nginx mod_zip module and create symlinks Add installation steps for Nginx mod_zip module. * Modify Nginx installation to use custom modules path Updated installation script to use a custom modules directory for Nginx. * Install Nginx mod_zip without HTTP rewrite module Removed unnecessary HTTP rewrite module from Nginx configuration. * Simplify Nginx mod_zip installation script Removed redundant installation of libpcre3-dev for Nginx mod_zip. * Update romm-install.sh * Remove temporary files after Nginx module installation Clean up temporary files after installing the Nginx mod_zip module. * Update source URL in romm.sh script * Update install script URL to community repository * fix(romm): replace getpagespeed repo with source compilation for mod_zip The `getpagespeed` repository now requires a paid subscription, causing the RomM installation to fail with a 403 Forbidden error. Additionally, Debian 13 (Trixie) introduced an APT conflict between `libpcre3-dev` and `libpcre2-dev`. This commit fixes the installation by: - Removing the proprietary `getpagespeed` repository dependency. - Replacing `libpcre3-dev` with `libpcre2-dev` to resolve APT conflicts on Debian 13. - Downloading the `mod_zip` tarball directly from GitHub (avoiding `git clone`). - Downloading the exact Nginx source code matching the installed APT version. - Compiling the dynamic module (`ngx_http_zip_module.so`) using `--with-compat`. - Placing the compiled module in a custom directory (`/etc/nginx/custom-modules/`) to bypass Debian's default symlink quirks. - Cleaning up compilation files in `/tmp` to keep the container footprint small. * migrate from nginx to angie so dont need to then install nginx from tarball just to compile the zip module --------- Co-authored-by: Sam Heinz <54530346+asylumexp@users.noreply.github.com>
87 lines
2.8 KiB
Bash
87 lines
2.8 KiB
Bash
#!/usr/bin/env bash
|
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
# Copyright (c) 2021-2026 community-scripts ORG
|
|
# Author: MickLesk (CanbiZ) | DevelopmentCats | AlphaLawless
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
# Source: https://romm.app | Github: https://github.com/rommapp/romm
|
|
|
|
APP="RomM"
|
|
var_tags="${var_tags:-emulation}"
|
|
var_cpu="${var_cpu:-2}"
|
|
var_ram="${var_ram:-4096}"
|
|
var_disk="${var_disk:-20}"
|
|
var_os="${var_os:-debian}"
|
|
var_version="${var_version:-13}"
|
|
var_arm64="${var_arm64:-no}"
|
|
var_unprivileged="${var_unprivileged:-1}"
|
|
|
|
header_info "$APP"
|
|
variables
|
|
color
|
|
catch_errors
|
|
|
|
function update_script() {
|
|
header_info
|
|
check_container_storage
|
|
check_container_resources
|
|
|
|
if [[ ! -d /opt/romm ]]; then
|
|
msg_error "No ${APP} Installation Found!"
|
|
exit
|
|
fi
|
|
|
|
NODE_VERSION="24" setup_nodejs
|
|
|
|
if check_for_gh_release "romm" "rommapp/romm"; then
|
|
msg_info "Stopping Services"
|
|
systemctl stop romm-backend romm-worker romm-scheduler romm-watcher
|
|
msg_ok "Stopped Services"
|
|
|
|
msg_info "Backing up configuration"
|
|
cp /opt/romm/.env /opt/romm/.env.backup
|
|
msg_ok "Backed up configuration"
|
|
|
|
fetch_and_deploy_gh_release "romm" "rommapp/romm" "tarball" "latest" "/opt/romm"
|
|
|
|
msg_info "Updating ROMM"
|
|
cp /opt/romm/.env.backup /opt/romm/.env
|
|
cd /opt/romm
|
|
$STD uv sync --all-extras
|
|
cd /opt/romm/backend
|
|
$STD uv run alembic upgrade head
|
|
cd /opt/romm/frontend
|
|
$STD npm install
|
|
$STD npm run build
|
|
# Merge static assets into dist folder
|
|
cp -rf /opt/romm/frontend/assets/* /opt/romm/frontend/dist/assets/
|
|
mkdir -p /opt/romm/frontend/dist/assets/romm
|
|
ROMM_BASE=$(grep '^ROMM_BASE_PATH=' /opt/romm/.env | cut -d'=' -f2)
|
|
ROMM_BASE=${ROMM_BASE:-/var/lib/romm}
|
|
ln -sfn "$ROMM_BASE"/resources /opt/romm/frontend/dist/assets/romm/resources
|
|
ln -sfn "$ROMM_BASE"/assets /opt/romm/frontend/dist/assets/romm/assets
|
|
if [[ -f /etc/angie/http.d/romm.conf ]]; then
|
|
sed -i "s|alias .*/library/;|alias ${ROMM_BASE}/library/;|" /etc/angie/http.d/romm.conf
|
|
systemctl reload angie
|
|
elif [[ -f /etc/nginx/sites-available/romm ]]; then
|
|
sed -i "s|alias .*/library/;|alias ${ROMM_BASE}/library/;|" /etc/nginx/sites-available/romm
|
|
systemctl reload nginx
|
|
fi
|
|
msg_ok "Updated ROMM"
|
|
|
|
msg_info "Starting Services"
|
|
systemctl start romm-backend romm-worker romm-scheduler romm-watcher
|
|
msg_ok "Started Services"
|
|
msg_ok "Updated successfully"
|
|
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 "${GATEWAY}${BGN}http://${IP}${CL}"
|