From b4d30dcce0af76520490c6c85e1b78e765ebe8e2 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Fri, 12 Jul 2024 09:12:53 +0200 Subject: [PATCH] Fix v1.108.0 --- conf/env-server | 1 - conf/immich-server-start.sh | 2 +- manifest.toml | 25 ++++++++++++++++- scripts/_common.sh | 54 ++++++++++++++++++++++++------------- 4 files changed, 61 insertions(+), 21 deletions(-) diff --git a/conf/env-server b/conf/env-server index 7d8e386..eb332ae 100644 --- a/conf/env-server +++ b/conf/env-server @@ -2,7 +2,6 @@ NODE_ENV=production IMMICH_MEDIA_LOCATION=__DATA_DIR__ IMMICH_WEB_ROOT=__INSTALL_DIR__/app/www -IMMICH_REVERSE_GEOCODING_ROOT=__INSTALL_DIR__/app/resources ## Ports IMMICH_HOST=127.0.0.1 diff --git a/conf/immich-server-start.sh b/conf/immich-server-start.sh index b97540d..081a4f3 100644 --- a/conf/immich-server-start.sh +++ b/conf/immich-server-start.sh @@ -1,7 +1,7 @@ #!/bin/bash set -a -. "__INSTALL_DIR__/env-server" +source "__INSTALL_DIR__/env-server" set +a cd "__INSTALL_DIR__/app" diff --git a/manifest.toml b/manifest.toml index c595fa7..37b098d 100644 --- a/manifest.toml +++ b/manifest.toml @@ -84,7 +84,30 @@ ram.runtime = "500M" "libbz2-dev", "libffi-dev", "zlib1g-dev", - "unzip" + "unzip", + "uuid-runtime", + "autoconf", + "jq", + "perl", + "libnet-ssleay-perl", + "libio-socket-ssl-perl", + "libcapture-tiny-perl", + "libfile-which-perl", + "libfile-chdir-perl", + "libpkgconfig-perl", + "libffi-checklib-perl", + "libtest-warnings-perl", + "libtest-fatal-perl", + "libtest-needs-perl", + "libtest2-suite-perl", + "libsort-versions-perl", + "libpath-tiny-perl", + "libtry-tiny-perl", + "libterm-table-perl", + "libany-uri-escape-perl", + "libmojolicious-perl", + "libfile-slurper-perl", + "liblcms2-2" ] [resources.apt.extras.postgresql] diff --git a/scripts/_common.sh b/scripts/_common.sh index 437aac7..81f4082 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -123,6 +123,33 @@ myynh_install_immich() { ynh_use_nodejs + # Use 127.0.0.1 + cd "$source_dir" + find . -type f \( -name '*.ts' -o -name '*.js' \) \ + -exec grep app.listen {} + \ + | sed 's/.*app.listen//' | grep -v '()' \ + | grep '^(' \ + | tr -d "[:blank:]" | awk -F"[(),]" '{print $2}' \ + | sort \ + | uniq \ + | while read port; do + find . -type f \( -name '*.ts' -o -name '*.js' \) \ + -exec sed -i -e "s@app.listen(${port})@app.listen(${port}, '127.0.0.1')@g" {} + + done + find . -type f \( -name '*.ts' -o -name '*.js' \) \ + -exec sed -i -e "s@PrometheusExporter({ port })@PrometheusExporter({ host: '127.0.0.1', port: port })@g" {} + + grep -RlE "\"0\.0\.0\.0\"|'0\.0\.0\.0'" \ + | xargs -n1 sed -i -e "s@'0\.0\.0\.0'@'127.0.0.1'@g" -e 's@"0\.0\.0\.0"@"127.0.0.1"@g' + + # Replace /usr/src + cd "$source_dir" + grep -Rl "/usr/src" | xargs -n1 sed -i -e "s@/usr/src@$install_dir@g" + mkdir -p "$install_dir/cache" + grep -RlE "\"/cache\"|'/cache'" \ + | xargs -n1 sed -i -e "s@\"/cache\"@\"$install_dir/cache\"@g" -e "s@'/cache'@'$install_dir/cache'@g" + grep -RlE "\"/build\"|'/build'" \ + | xargs -n1 sed -i -e "s@\"/build\"@\"$install_dir/app\"@g" -e "s@'/build'@'$install_dir/app'@g" + # Install immich-server cd "$source_dir/server" ynh_exec_warn_less "$ynh_npm" ci @@ -174,20 +201,6 @@ myynh_install_immich() { ynh_add_config --template="immich-machine-learning-start.sh" --destination="$install_dir/app/machine-learning/start.sh" chmod +x "$install_dir/app/machine-learning/start.sh" - # Replace /usr/src - cd "$install_dir/app" - grep -Rl "/usr/src" | xargs -n1 sed -i -e "s@/usr/src@$install_dir@g" - ln -sf "$install_dir/app/resources" "$install_dir/" - mkdir -p "$install_dir/cache" - sed -i -e "s@\"/cache\"@\"$install_dir/cache\"@g" "$install_dir/app/machine-learning/app/config.py" - - # Install sharp - cd "$install_dir/app" - ynh_exec_warn_less "$ynh_npm" install sharp - - # Use 127.0.0.1 - sed -i -e "s@app.listen(port)@app.listen(port, '127.0.0.1')@g" "$install_dir/app/dist/main.js" - # Install geonames mkdir -p "$source_dir/geonames" cd "$source_dir/geonames" @@ -196,10 +209,15 @@ myynh_install_immich() { curl -LO "https://download.geonames.org/export/dump/admin2Codes.txt" 2>&1 unzip "cities500.zip" cd "$install_dir/resources" - cp -a "$source_dir/geonames/cities500.txt" "$install_dir/resources/" - cp -a "$source_dir/geonames/admin1CodesASCII.txt" "$install_dir/resources/" - cp -a "$source_dir/geonames/admin2Codes.txt" "$install_dir/resources/" - date --iso-8601=seconds | tr -d "\n" > "$install_dir/resources/geodata-date.txt" + mkdir -p "$install_dir/app/geodata/" + cp -a "$source_dir/geonames/cities500.txt" "$install_dir/app/geodata/" + cp -a "$source_dir/geonames/admin1CodesASCII.txt" "$install_dir/app/geodata/" + cp -a "$source_dir/geonames/admin2Codes.txt" "$install_dir/app/geodata/" + date --iso-8601=seconds | tr -d "\n" > "$install_dir/app/geodata/geodata-date.txt" + + # Install sharp + cd "$install_dir/app" + ynh_exec_warn_less "$ynh_npm" install sharp # Cleanup ynh_secure_remove --file="$source_dir"