Fix config placeholder replacement with special chars

This commit is contained in:
adminsopel
2026-05-01 09:23:56 +02:00
parent 92d6f38de9
commit 5d89b94452

View File

@@ -28,14 +28,34 @@ mkdir -p "$install_dir" "$data_dir/data" "$data_dir/media/originals" "$data_dir/
cp -a "$YNH_APP_BASEDIR/backend" "$YNH_APP_BASEDIR/web" "$YNH_APP_BASEDIR/doc" "$install_dir"/ cp -a "$YNH_APP_BASEDIR/backend" "$YNH_APP_BASEDIR/web" "$YNH_APP_BASEDIR/doc" "$install_dir"/
cp "$YNH_APP_BASEDIR/conf/config.json" "$config_dir/config.json" cp "$YNH_APP_BASEDIR/conf/config.json" "$config_dir/config.json"
sed -i \ CONFIG_FILE="$config_dir/config.json" \
-e "s#__PORT__#$port#g" \ APP_PORT="$port" \
-e "s#__PATH__#$path#g" \ APP_PATH="$path" \
-e "s#__DATA_DIR__#$data_dir#g" \ APP_DATA_DIR="$data_dir" \
-e "s#__INSTALL_DIR__#$install_dir#g" \ APP_INSTALL_DIR="$install_dir" \
-e "s#__ADMIN_USER__#$admin_user#g" \ APP_ADMIN_USER="$admin_user" \
-e "s#__ADMIN_PASSWORD__#$admin_password#g" \ APP_ADMIN_PASSWORD="$admin_password" \
"$config_dir/config.json" python3 - <<'PYCONF'
import os
from pathlib import Path
config_file = Path(os.environ["CONFIG_FILE"])
content = config_file.read_text()
replacements = {
"__PORT__": os.environ["APP_PORT"],
"__PATH__": os.environ["APP_PATH"],
"__DATA_DIR__": os.environ["APP_DATA_DIR"],
"__INSTALL_DIR__": os.environ["APP_INSTALL_DIR"],
"__ADMIN_USER__": os.environ["APP_ADMIN_USER"],
"__ADMIN_PASSWORD__": os.environ["APP_ADMIN_PASSWORD"],
}
for key, value in replacements.items():
content = content.replace(key, value)
config_file.write_text(content)
PYCONF
cp "$YNH_APP_BASEDIR/conf/albumik.service" "$service_file" cp "$YNH_APP_BASEDIR/conf/albumik.service" "$service_file"
sed -i \ sed -i \