diff --git a/README.md b/README.md index 45b21de..96448a1 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ PhotoPrism® is an AI-Powered Photos App for the Decentralized Web. It makes use **Shipped version:** 2022.07.30~ynh1 + **Demo:** https://demo-fr.photoprism.app ## Screenshots diff --git a/README_fr.md b/README_fr.md index 2694617..7f922a8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -27,7 +27,8 @@ PhotoPrism® est une application de photos alimentée par l'IA pour le Web déce - Classification automatique des photos en fonction de leur contenu et de leur emplacement -**Version incluse :** 2022.07.30~ynh1 +**Version incluse :** 2022.07.30~ynh1 + **Démo :** https://demo-fr.photoprism.app diff --git a/conf/.env b/conf/.env new file mode 100644 index 0000000..5348400 --- /dev/null +++ b/conf/.env @@ -0,0 +1,24 @@ +PHOTOPRISM_ASSETS_PATH="/home/yunohost.app/__APP__/assets" +PHOTOPRISM_CACHE_PATH="/home/yunohost.app/__APP__/cache" +PHOTOPRISM_ORIGINALS_PATH="/home/yunohost.app/__APP__/photos/originals" +PHOTOPRISM_IMPORT_PATH="/home/yunohost.app/__APP__/photos/import" +PHOTOPRISM_TEMP_PATH="/home/yunohost.app/__APP__/temp" +PHOTOPRISM_SITE_URL="https://__DOMAIN____PATH_URL__" +PHOTOPRISM_ADMIN_PASSWORD="__PASSWORD__" +PHOTOPRISM_HTTP_HOST="127.0.0.1" +PHOTOPRISM_HTTP_MODE="release" +PHOTOPRISM_HTTP_PORT="__PORT__" +PHOTOPRISM_DATABASE_DRIVER="MySQL" +PHOTOPRISM_DATABASE_SERVER="127.0.0.1" +PHOTOPRISM_DATABASE_NAME="photoprism" +PHOTOPRISM_DATABASE_USER="photoprism" +PHOTOPRISM_DATABASE_PASSWORD="__DB_PWD__" +PHOTOPRISM_DEFAULT_THEME="lavendel" +PHOTOPRISM_DEFAULT_LOCALE="__LANGUAGE_KEY__" +PHOTOPRISM_SITE_DESCRIPTION="__APP__" +PHOTOPRISM_DEBUG="false" +PHOTOPRISM_DARKTABLE_BIN="/usr/bin/darktable-cli" +PHOTOPRISM_HEIFCONVERT_BIN="__FINALPATH__/bin/heif-convert" +PHOTOPRISM_FFMPEG_BIN="/usr/bin/ffmpeg" +PHOTOPRISM_EXIFTOOL_BIN="/usr/bin/exiftool" +PHOTOPRISM_UPLOAD_NSFW="true" \ No newline at end of file diff --git a/conf/systemd.service b/conf/systemd.service index 8557650..c9face9 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -6,8 +6,9 @@ After=network.target Type=simple User=__APP__ Group=__APP__ +EnvironmentFile=__FINALPATH__/.env WorkingDirectory=__FINALPATH__/ -ExecStart=__FINALPATH__/live/bin/photoprism --config-path __FINALPATH__/live/config/ --trace start +ExecStart=__FINALPATH__/live/bin/photoprism --trace start StandardOutput=append:/var/log/__APP__/__APP__.log StandardError=inherit TimeoutSec=900 diff --git a/manifest.json b/manifest.json index 99d581f..fb6902c 100644 --- a/manifest.json +++ b/manifest.json @@ -21,7 +21,7 @@ "name": "Thovi98" }, "requirements": { - "yunohost": ">= 4.3.0" + "yunohost": ">= 11.0.7" }, "multi_instance": true, "services": [ diff --git a/scripts/_common.sh b/scripts/_common.sh index 7c2281f..348f26c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,10 +4,28 @@ # COMMON VARIABLES #================================================= -PHOTOPRISM_VERSION="220730-bullseye" +function detect_arch() { + case "$YNH_ARCH" in + "amd64") + PHOTOPRISM_VERSION="sha256:2a2fc58d5bf77642424854158a06713ce532026bd18a43e07fd71d75365cb8d3" + ;; + + "arm64") + PHOTOPRISM_VERSION="sha256:ad6de95e77e90a64487085b55dbdbea21c04aff5a17ca3c8790d1deae19b9ee1" + ;; + + "armhf") + PHOTOPRISM_VERSION="sha256:4e0b39a06e0f7ecd11aa8cbd84c739cba3417c99348f52e3433cdeaeeb5474cb" + ;; + + *) + ynh_die --message="Your server architecture ($YNH_ARCH) is not supported." + ;; + esac +} #pkg_dependencies="libc6-dev libssl-dev libxft-dev libhdf5-serial-dev libpng-dev libheif-examples librsvg2-bin libx264-dev libx265-dev libnss3 libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev libzmq3-dev" -pkg_dependencies="" +pkg_dependencies="ffmpeg libimage-exiftool-perl" #================================================= # PERSONAL HELPERS diff --git a/scripts/install b/scripts/install index 3d7d147..4f77f31 100755 --- a/scripts/install +++ b/scripts/install @@ -124,6 +124,7 @@ ynh_script_progression --message="Making install..." # Install photoprism pushd $final_path/build + detect_arch ./docker-image-extract photoprism/photoprism:$PHOTOPRISM_VERSION popd mkdir -p "$final_path/live/" @@ -155,10 +156,10 @@ chown -R $app:www-data "$datadir" #================================================= ynh_script_progression --message="Adding a configuration file..." -ynh_add_config --template="../conf/options.yml" --destination="$final_path/live/config/options.yml" +ynh_add_config --template="../conf/.env" --destination="$final_path/.env" -chmod 600 "$final_path/live/config/options.yml" -chown $app:$app "$final_path/live/config/options.yml" +chmod 600 "$final_path/.env" +chown $app:$app "$final_path/.env" #================================================= # SETUP SYSTEMD @@ -206,6 +207,9 @@ then ynh_permission_update --permission="main" --add="visitors" fi +# Permission to make link-sharing work +ynh_permission_create --permission="sharing" --url="/s" --allowed="visitors" --show_tile="false" --protected="true" + #================================================= # RELOAD NGINX #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index d50ebd9..e80393f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -70,6 +70,11 @@ if [ -z "$language_key" ]; then ynh_app_setting_delete --app=$app --key=language fi +# Create sharing permission if needed +if ! ynh_permission_exists --permission="sharing"; then + ynh_permission_create --permission="sharing" --url="/s" --allowed="visitors" --show_tile="false" --protected="true" +fi + #================================================= # CREATE DEDICATED USER #================================================= @@ -120,6 +125,7 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then # Install photoprism pushd $final_path/build + detect_arch ./docker-image-extract photoprism/photoprism:$PHOTOPRISM_VERSION popd mkdir -p "$final_path/live/" @@ -152,10 +158,10 @@ chown -R $app:www-data "$datadir" #================================================= ynh_script_progression --message="Updating a configuration file..." -ynh_add_config --template="../conf/options.yml" --destination="$final_path/live/config/options.yml" +ynh_add_config --template="../conf/.env" --destination="$final_path/.env" -chmod 600 "$final_path/live/config/options.yml" -chown $app:$app "$final_path/live/config/options.yml" +chmod 600 "$final_path/.env" +chown $app:$app "$final_path/.env" #================================================= # SETUP SYSTEMD