mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-09-26 12:08:04 +00:00
Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac44688925 | ||
|
|
25c9f5a142 | ||
|
|
d376f6a92e | ||
|
|
037e55256c | ||
|
|
26c3bb9325 | ||
|
|
c69359d704 | ||
|
|
04fd8481f5 |
@@ -552,8 +552,13 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Declare the RomM filesystem structure required since 5.3.0 [@MickLesk](https://github.com/MickLesk) ([#17480](https://github.com/community-scripts/ProxmoxVE/pull/17480))
|
||||
- general: use apt_update_safe instead of aborting on a failed apt update [@MickLesk](https://github.com/MickLesk) ([#17462](https://github.com/community-scripts/ProxmoxVE/pull/17462))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Journiv: Serve Node Frontend and add HTTP Auth .env [@MickLesk](https://github.com/MickLesk) ([#17479](https://github.com/community-scripts/ProxmoxVE/pull/17479))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- core: accept an off-subnet gateway for /31 and /32 [@MickLesk](https://github.com/MickLesk) ([core#70](https://github.com/community-scripts/core/pull/70))
|
||||
|
||||
+1
-3
@@ -193,8 +193,6 @@ EOF
|
||||
export SHARP_FORCE_GLOBAL_LIBVIPS=true
|
||||
$STD pnpm --dir "$APP_DIR/node_modules/sharp" exec npm run build
|
||||
|
||||
ln -sfn "$GEO_DIR" "$APP_DIR/geodata"
|
||||
|
||||
# Patch helmet.json: disable upgrade-insecure-requests for HTTP access
|
||||
if [[ -f "$APP_DIR/helmet.json" ]]; then
|
||||
jq '.contentSecurityPolicy.directives["upgrade-insecure-requests"] = null' "$APP_DIR/helmet.json" >"$APP_DIR/helmet.json.tmp" && mv "$APP_DIR/helmet.json.tmp" "$APP_DIR/helmet.json"
|
||||
@@ -325,7 +323,7 @@ EOF
|
||||
[[ ! -f "$GEO_DIR/countryInfo.txt" ]] && curl_with_retry "https://download.geonames.org/export/dump/countryInfo.txt" "countryInfo.txt"
|
||||
ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$APP_DIR"/upload
|
||||
ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload
|
||||
ln -s "$GEO_DIR" "$APP_DIR"
|
||||
ln -sfn "$GEO_DIR" "$APP_DIR/geodata"
|
||||
[[ ! -f /usr/bin/immich ]] && ln -sf "$APP_DIR"/cli/bin/immich /usr/bin/immich
|
||||
[[ ! -f /usr/bin/immich-admin ]] && ln -sf "$APP_DIR"/bin/immich-admin /usr/bin/immich-admin
|
||||
|
||||
|
||||
@@ -45,6 +45,17 @@ function update_script() {
|
||||
$STD uv sync --locked --no-editable --no-install-project
|
||||
msg_ok "Updated Python Environment"
|
||||
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
msg_info "Building Frontend"
|
||||
cd /opt/journiv/frontend
|
||||
$STD npm ci
|
||||
$STD npm run build
|
||||
cd /opt/journiv
|
||||
msg_ok "Built Frontend"
|
||||
|
||||
grep -q '^ALLOW_INSECURE_COOKIE_AUTH_OVER_HTTP=' /opt/journiv.env ||
|
||||
echo 'ALLOW_INSECURE_COOKIE_AUTH_OVER_HTTP=true' >>/opt/journiv.env
|
||||
|
||||
msg_info "Running Database Migrations"
|
||||
set -a
|
||||
source /opt/journiv.env
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ function update_script() {
|
||||
|
||||
msg_warn "⚠️ ${APP} has been migrated to an addon script."
|
||||
echo ""
|
||||
msg_custom "ℹ️" "${YW}" "This is a one-time migration. After this, you can update ${APP} anytime with:"
|
||||
msg_info "This is a one-time migration. After this, you can update ${APP} anytime with:"
|
||||
echo -e "${TAB}${TAB}${GN}update_komodo${CL} or ${GN}bash <(curl -fsSL ${ADDON_SCRIPT})${CL}"
|
||||
echo ""
|
||||
read -r -p "${TAB}Migrate update function now? [y/N]: " CONFIRM
|
||||
|
||||
+12
@@ -218,6 +218,18 @@ DROPEOF
|
||||
fi
|
||||
msg_ok "Updated ROMM"
|
||||
|
||||
# 5.3.0 refuses to start without filesystem.structure and dropped
|
||||
# roms_folder/firmware_folder. A custom layout cannot be inferred.
|
||||
ROMM_CFG=/var/lib/romm/config/config.yml
|
||||
if [[ -f "$ROMM_CFG" ]] && ! grep -qE '^[[:space:]]*structure:' "$ROMM_CFG"; then
|
||||
if grep -qE '^[[:space:]]*(roms_folder|firmware_folder):' "$ROMM_CFG"; then
|
||||
msg_warn "RomM 5.3.0 removed roms_folder/firmware_folder - replace them with filesystem.structure in ${ROMM_CFG}"
|
||||
else
|
||||
printf '\nfilesystem:\n structure:\n default: "roms/{platform}/{game}"\n firmware: "bios/{platform}"\n' >>"$ROMM_CFG"
|
||||
msg_ok "Added filesystem.structure to ${ROMM_CFG}"
|
||||
fi
|
||||
fi
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start romm-backend romm-worker romm-scheduler romm-watcher
|
||||
msg_ok "Started Services"
|
||||
|
||||
@@ -53,11 +53,21 @@ EXPORT_DIR=/opt/journiv_data/exports
|
||||
IMPORT_TEMP_DIR=/opt/journiv_data/imports/temp
|
||||
DOMAIN_NAME=${LOCAL_IP}
|
||||
DOMAIN_SCHEME=http
|
||||
# Journiv refuses to start on plain HTTP without this.
|
||||
ALLOW_INSECURE_COOKIE_AUTH_OVER_HTTP=true
|
||||
PYTHONPATH=/opt/journiv
|
||||
EOF
|
||||
chmod 600 /opt/journiv.env
|
||||
msg_ok "Configured Journiv"
|
||||
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
msg_info "Building Frontend"
|
||||
cd /opt/journiv/frontend
|
||||
$STD npm ci
|
||||
$STD npm run build
|
||||
cd /opt/journiv
|
||||
msg_ok "Built Frontend"
|
||||
|
||||
msg_info "Initializing Database"
|
||||
set -a
|
||||
source /opt/journiv.env
|
||||
|
||||
@@ -117,9 +117,11 @@ cat <<'EOF' >/var/lib/romm/config/config.yml
|
||||
# gc: ngc
|
||||
# ps1: psx
|
||||
|
||||
# The folder name where your roms are located (relative to library path)
|
||||
# filesystem:
|
||||
# roms_folder: 'roms'
|
||||
# Required since 5.3.0: RomM refuses to start without an explicit structure.
|
||||
filesystem:
|
||||
structure:
|
||||
default: "roms/{platform}/{game}"
|
||||
firmware: "bios/{platform}"
|
||||
|
||||
# scan:
|
||||
# priority:
|
||||
|
||||
+2
-12
@@ -199,7 +199,6 @@ function install() {
|
||||
sed -i "s/^KOMODO_INIT_ADMIN_PASSWORD=changeme/KOMODO_INIT_ADMIN_PASSWORD=${ADMIN_PASSWORD}/" "$COMPOSE_ENV"
|
||||
sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" "$COMPOSE_ENV"
|
||||
sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" "$COMPOSE_ENV"
|
||||
sed -i "s|^KOMODO_HOST=.*|KOMODO_HOST=http://${LOCAL_IP}:${DEFAULT_PORT}|" "$COMPOSE_ENV"
|
||||
msg_ok "Configured environment"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
@@ -215,23 +214,14 @@ function install() {
|
||||
} >>~/komodo.creds
|
||||
|
||||
echo ""
|
||||
msg_info "Waiting for ${APP} to answer"
|
||||
for _ in $(seq 1 60); do
|
||||
curl -fsS --max-time 3 "http://127.0.0.1:${DEFAULT_PORT}" >/dev/null 2>&1 && break
|
||||
sleep 3
|
||||
done
|
||||
if curl -fsS --max-time 3 "http://127.0.0.1:${DEFAULT_PORT}" >/dev/null 2>&1; then
|
||||
msg_ok "${APP} is reachable at: ${BL}http://${LOCAL_IP}:${DEFAULT_PORT}${CL}"
|
||||
else
|
||||
msg_error "${APP} did not come up - check: docker logs komodo-core-1"
|
||||
fi
|
||||
msg_ok "${APP} is reachable at: ${BL}http://${LOCAL_IP}:${DEFAULT_PORT}${CL}"
|
||||
echo ""
|
||||
echo -e " Komodo Credentials"
|
||||
echo -e " =================="
|
||||
echo -e " User : admin"
|
||||
echo -e " Password: ${ADMIN_PASSWORD}"
|
||||
echo ""
|
||||
msg_ok "Credentials saved to ~/komodo.creds"
|
||||
msg_info "Credentials saved to ~/komodo.creds"
|
||||
}
|
||||
|
||||
# ==============================================================================
|
||||
|
||||
Reference in New Issue
Block a user