diff --git a/ct/photoprism.sh b/ct/photoprism.sh index 13e923afbd..0242893483 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -27,22 +27,35 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Stopping PhotoPrism" - sudo systemctl stop photoprism - msg_ok "Stopped PhotoPrism" - msg_info "Updating PhotoPrism" - $STD apt-get install -y libvips42 - curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1 - msg_ok "Updated PhotoPrism" + RELEASE=$(curl -fsSL https://api.github.com/repos/photoprism/photoprism/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat ~/.photoprism 2>/dev/null)" ]] || [[ ! -f ~/.photoprism ]]; then + msg_info "Stopping PhotoPrism" + systemctl stop photoprism + msg_ok "Stopped PhotoPrism" - msg_info "Starting PhotoPrism" - sudo systemctl start photoprism - msg_ok "Started PhotoPrism" - msg_ok "Update Successful" + fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz" + + LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) + if [[ "${LIBHEIF_URL}" != "$(cat ~/.photoprism_libheif 2>/dev/null)" ]] || [[ ! -f ~/.photoprism_libheif ]]; then + msg_info "Updating PhotoPrism LibHeif" + $STD apt-get install -y libvips42 + curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz + tar -xzf /tmp/libheif.tar.gz -C /usr/local + ldconfig + echo "${LIBHEIF_URL}" >~/.photoprism_libheif + msg_ok "Updated PhotoPrism LibHeif" + fi + + msg_info "Starting PhotoPrism" + systemctl start photoprism + msg_ok "Started PhotoPrism" + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit } - start build_container description diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index 84fb1dde12..3334ff1ac2 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -15,48 +15,90 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ - exiftool \ - ffmpeg \ - libheif1 \ - libpng-dev \ - libjpeg-dev \ - libtiff-dev \ - imagemagick \ - darktable \ - rawtherapee \ - libvips42 \ - lsb-release + exiftool \ + ffmpeg \ + libheif1 \ + libpng-dev \ + libjpeg-dev \ + libtiff-dev \ + imagemagick \ + darktable \ + rawtherapee \ + libvips42 \ + lsb-release echo 'export PATH=/usr/local:$PATH' >>~/.bashrc export PATH=/usr/local:$PATH msg_ok "Installed Dependencies" +fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz" + msg_info "Installing PhotoPrism (Patience)" mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism_backups -curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1 LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) -curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1 +curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz +tar -xzf /tmp/libheif.tar.gz -C /usr/local ldconfig +echo "${LIBHEIF_URL}" >~/.photoprism_libheif chmod -R 755 /opt/photoprism/photos/originals cat </opt/photoprism/config/.env -PHOTOPRISM_AUTH_MODE='password' +# Authentication +PHOTOPRISM_ADMIN_USER='admin' PHOTOPRISM_ADMIN_PASSWORD='changeme' +PHOTOPRISM_AUTH_MODE='password' +PHOTOPRISM_PUBLIC='false' + +# Network / HTTP PHOTOPRISM_HTTP_HOST='0.0.0.0' PHOTOPRISM_HTTP_PORT='2342' -PHOTOPRISM_SITE_CAPTION='https://Helper-Scripts.com' +PHOTOPRISM_SITE_URL='http://localhost:2342/' +PHOTOPRISM_DISABLE_TLS='true' +PHOTOPRISM_DEFAULT_TLS='false' +PHOTOPRISM_HTTP_COMPRESSION='gzip' + +# Features & AI +PHOTOPRISM_DISABLE_TENSORFLOW='false' +PHOTOPRISM_DISABLE_FACES='false' +PHOTOPRISM_DISABLE_CLASSIFICATION='false' +PHOTOPRISM_DISABLE_VECTORS='false' +PHOTOPRISM_DETECT_NSFW='false' +PHOTOPRISM_UPLOAD_NSFW='true' + +# Paths & Storage PHOTOPRISM_STORAGE_PATH='/opt/photoprism/storage' PHOTOPRISM_ORIGINALS_PATH='/opt/photoprism/photos/originals' PHOTOPRISM_IMPORT_PATH='/opt/photoprism/photos/import' PHOTOPRISM_BACKUP_PATH='/opt/photoprism_backups' + +# Database PHOTOPRISM_DATABASE_DRIVER='sqlite' -PHOTOPRISM_DISABLE_WEBDAV='false' -PHOTOPRISM_DISABLE_FACES='false' + +# Behavior & Options PHOTOPRISM_AUTO_INDEX='300' PHOTOPRISM_AUTO_IMPORT='-1' -PHOTOPRISM_PUBLIC='false' +PHOTOPRISM_DISABLE_WEBDAV='false' +PHOTOPRISM_READONLY='false' +PHOTOPRISM_DISABLE_SETTINGS='false' +PHOTOPRISM_DISABLE_CHOWN='false' +PHOTOPRISM_EXPERIMENTAL='false' +PHOTOPRISM_INIT='https tensorflow' + +# Image Processing +PHOTOPRISM_ORIGINALS_LIMIT='5000' +PHOTOPRISM_JPEG_QUALITY='85' +PHOTOPRISM_RAW_PRESETS='false' +PHOTOPRISM_DISABLE_RAW='false' + +# Debug & Logging PHOTOPRISM_DEBUG='false' +PHOTOPRISM_LOG_LEVEL='info' + +# Site Info +PHOTOPRISM_SITE_CAPTION='https://Helper-Scripts.com' +PHOTOPRISM_SITE_DESCRIPTION='' +PHOTOPRISM_SITE_AUTHOR='' EOF ln -sf /opt/photoprism/bin/photoprism /usr/local/bin/photoprism