From 3da1ab43064cb71efe734f43f3c4e457e2b8def5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=8C=E6=A3=AE?= Date: Thu, 22 Aug 2024 12:46:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=BA=94=E7=94=A8=20PhotoPri?= =?UTF-8?q?sm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 萌森 --- apps/photoprism/240711/data.yml | 180 ++++++++++++++++++++ apps/photoprism/240711/docker-compose.yml | 48 ++++++ apps/photoprism/240711/scripts/init.sh | 15 ++ apps/photoprism/240711/scripts/uninstall.sh | 10 ++ apps/photoprism/240711/scripts/upgrade.sh | 15 ++ apps/photoprism/README.md | 92 ++++++++++ apps/photoprism/data.yml | 18 ++ apps/photoprism/img.png | Bin 0 -> 7156 bytes apps/photoprism/logo.png | Bin 0 -> 30936 bytes envs/photoprism/photoprism.env | 25 +++ 10 files changed, 403 insertions(+) create mode 100644 apps/photoprism/240711/data.yml create mode 100644 apps/photoprism/240711/docker-compose.yml create mode 100644 apps/photoprism/240711/scripts/init.sh create mode 100644 apps/photoprism/240711/scripts/uninstall.sh create mode 100644 apps/photoprism/240711/scripts/upgrade.sh create mode 100644 apps/photoprism/README.md create mode 100644 apps/photoprism/data.yml create mode 100644 apps/photoprism/img.png create mode 100644 apps/photoprism/logo.png create mode 100644 envs/photoprism/photoprism.env diff --git a/apps/photoprism/240711/data.yml b/apps/photoprism/240711/data.yml new file mode 100644 index 000000000..877fada8f --- /dev/null +++ b/apps/photoprism/240711/data.yml @@ -0,0 +1,180 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mariadb + edit: true + envKey: PANEL_DB_TYPE + labelZh: MySQL 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: Percona + value: percona + - default: "/home/photoprism" + edit: true + envKey: PHOTOPRISM_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 2342 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "admin" + edit: true + envKey: PHOTOPRISM_ADMIN_USER + labelZh: 管理员用户名 + labelEn: Admin username + required: true + type: text + - default: "password_random" + edit: true + envKey: PHOTOPRISM_ADMIN_PASSWORD + labelZh: 管理员密码 (8-72 字符) + labelEn: Admin password + required: true + rule: paramComplexity + random: true + type: password + - default: "password" + edit: true + envKey: PHOTOPRISM_AUTH_MODE + labelZh: 认证模式 + labelEn: Authentication mode + required: true + type: select + values: + - label: 密码 + value: "password" + - label: 公开 + value: "public" + - default: "http://127.0.0.1:2342" + edit: true + envKey: PHOTOPRISM_SITE_URL + labelZh: 网站 URL + labelEn: Site URL + required: true + type: text + - default: "AI-Powered Photos App" + edit: true + envKey: PHOTOPRISM_SITE_CAPTION + labelZh: 网站标题 + labelEn: Site caption + required: true + type: text + - default: "" + edit: true + envKey: PHOTOPRISM_SITE_DESCRIPTION + labelZh: 网站描述 + labelEn: Site description + required: false + type: text + - default: "" + edit: true + envKey: PHOTOPRISM_SITE_AUTHOR + labelZh: 网站作者 + labelEn: Site author + required: false + type: text + - default: "127.0.0.1:3306" + edit: true + envKey: PHOTOPRISM_DATABASE_SERVER + labelZh: 数据库 地址 + labelEn: Database Server + required: true + type: text + - default: "photoprism" + edit: true + envKey: PHOTOPRISM_DATABASE_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: PHOTOPRISM_DATABASE_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + required: true + type: password + - default: "photoprism" + edit: true + envKey: PHOTOPRISM_DATABASE_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + type: text + - default: 5000 + edit: true + envKey: PHOTOPRISM_ORIGINALS_LIMIT + labelZh: 原始文件限制最大值 (MB) + labelEn: Originals limit max value (MB) + required: true + type: number + - default: "true" + edit: true + envKey: PHOTOPRISM_BACKUP_DATABASE + labelZh: 开启定时备份计划 + labelEn: Enable scheduled backup plan + required: true + type: select + values: + - label: + value: "true" + - label: + value: "false" + - default: "daily" + edit: true + envKey: PHOTOPRISM_BACKUP_SCHEDULE + labelZh: 定时备份计划周期 (daily, weekly, cron) + labelEn: Scheduled backup plan cycle (daily, weekly, cron format) + required: true + type: text + - default: "software" + edit: true + envKey: PHOTOPRISM_FFMPEG_ENCODER + labelZh: 视频编码器 + labelEn: Video encoder + required: true + type: select + values: + - label: 软解 + value: "software" + - label: 硬解 (Intel) + value: "intel" + - label: 硬解 (nvidia) + value: "nvidia" + - label: 硬解 (apple) + value: "apple" + - label: 硬解 (raspberry) + value: "raspberry" + - label: 硬解 (vaapi) + value: "vaapi" + - default: "1920" + edit: true + envKey: PHOTOPRISM_FFMPEG_SIZE + labelZh: 视频分辨率限制 + labelEn: Video resolution limit + required: true + type: text + - default: "32" + edit: true + envKey: PHOTOPRISM_FFMPEG_BITRATE + labelZh: 视频比特率限制 + labelEn: Video bitrate limit + required: true + type: text diff --git a/apps/photoprism/240711/docker-compose.yml b/apps/photoprism/240711/docker-compose.yml new file mode 100644 index 000000000..d6efb6304 --- /dev/null +++ b/apps/photoprism/240711/docker-compose.yml @@ -0,0 +1,48 @@ +version: "3.8" + +networks: + 1panel-network: + external: true + +services: + photoprism: + image: photoprism/photoprism:240711 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + stop_grace_period: 10s + security_opt: + - seccomp:unconfined + - apparmor:unconfined + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:2342 + user: 1000:1000 + working_dir: /photoprism + devices: + - /dev/dri:/dev/dri + - /dev/nvidia0:/dev/nvidia0 + - /dev/nvidiactl:/dev/nvidiactl + - /dev/nvidia-modeset:/dev/nvidia-modeset + - /dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl + - /dev/nvidia-uvm:/dev/nvidia-uvm + - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools + - /dev/video11:/dev/video11 + env_file: + - /etc/1panel/envs/global.env + - /etc/1panel/envs/photoprism/photoprism.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${PHOTOPRISM_ROOT_PATH}/originals:/photoprism/originals + - ${PHOTOPRISM_ROOT_PATH}/storage:/photoprism/storage + - ${PHOTOPRISM_ROOT_PATH}/family:/photoprism/originals/family + - ${PHOTOPRISM_ROOT_PATH}/import:/photoprism/import + environment: + PHOTOPRISM_UID: 0 + PHOTOPRISM_GID: 0 + PHOTOPRISM_UMASK: 0022 + PHOTOPRISM_PASSWORD_LENGTH: 8 + PHOTOPRISM_ADMIN_USERNAME: ${PHOTOPRISM_ADMIN_USER} + PHOTOPRISM_DATABASE_DRIVER: "mysql" diff --git a/apps/photoprism/240711/scripts/init.sh b/apps/photoprism/240711/scripts/init.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/photoprism/240711/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/photoprism/240711/scripts/uninstall.sh b/apps/photoprism/240711/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/photoprism/240711/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/photoprism/240711/scripts/upgrade.sh b/apps/photoprism/240711/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/photoprism/240711/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/photoprism/README.md b/apps/photoprism/README.md new file mode 100644 index 000000000..a7e35b3c2 --- /dev/null +++ b/apps/photoprism/README.md @@ -0,0 +1,92 @@ +# PhotoPrism + +面向去中心化网络的人工智能照片应用程序 + +![Bark](https://file.lifebus.top/imgs/photoprism_cover.jpg) + +PhotoPrism® 是一款适用于去中心化网络的人工智能照片应用程序。它利用最新技术自动标记和查找图片,而不会妨碍您。您可以在家中、私人服务器上或在云中运行它。 + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 特性 + +我们的使命是提供对用户和隐私最友好的解决方案,让您的图片井然有序且易于访问。这就是为什么 PhotoPrism +是从头开始构建的,可以在您需要的任何地方运行,而不会影响自由、隐私或功能: + ++ 浏览所有照片和视频,无需担心RAW 转换、重复或视频格式 ++ 使用强大的搜索过滤器轻松查找特定图片 ++ 认出家人和朋友的面孔 ++ 根据图片内容和位置自动分类 ++ 将鼠标悬停在相册和搜索结果中的实时照片上即可播放它们 ++ 由于用户界面是渐进式 Web 应用程序,因此它提供了类似本机应用程序的体验,您可以方便地将其安装在所有主要操作系统和移动设备的主屏幕上 ++ 包括四张高分辨率世界地图,带回您最喜欢的旅行的回忆 ++ 元数据从 Exif、XMP 和其他来源(例如 Google Photos)中提取并合并 ++ 还可以搜索更多图像属性,例如Colors 、 Chroma和Quality ++ 使用PhotoSync在后台安全备份 iOS 和 Android 手机 ++ WebDAV 客户端(例如 Microsoft 的 Windows Explorer 和 Apple 的 Finder)可以直接连接到 + PhotoPrism,允许您从计算机中打开、编辑和删除文件,就像它们是本地文件一样 + +## 环境说明 + +由于 `PhotoPrism` 有依赖于 `FFmpeg`,所以需要在安装时进行自动安装。 + +`PhotoPrism` 会自动安装 `FFmpeg`,并且会在初始化时进行检测。 + +由于使用 `TensorFlow` 进行人脸识别,等相关数据处理,所以需要在安装时进行自动安装。 + +`PhotoPrism` 会自动安装 `TensorFlow`,并且会在初始化时进行检测。 + +建议用户开启 至少 `4GB` 交换分区,增大内存使用。 + +## 安装说明 + +推荐使用 `MariaDB` 数据库,作为 `PhotoPrism` 的数据库存储。 + +### `数据库 地址` 配置 + +格式:`host:port` + +示例:`127.0.0.1:3306` + +### `认证模式` 配置 + +默认值:`密码` + +程序必须登录才能使用。 + +如果您选择: `公开` + +那么任何人都将允许访问程序。 + +### `视频编码器` 配置 + +`PhotoPrism` 支持 `FFmpeg` 视频编码器,需要安装 `FFmpeg`。 + +初始化时,`PhotoPrism` 会自动进行 `FFmpeg` 的安装。 + +使用 `FFmpeg` 时,需要选择 `软解`。 + +如果您的设备存在其他硬件驱动,可以选择 `硬解` 的方式加速 `视频转码`。 + +很不幸的是 Windows 下不能很好的映射驱动程序,所以 `硬解` 选项在 Windows 下不可用。 + +### `视频分辨率限制` 配置 + +默认值: `1920`,表达为 `1920x1080`。 + +当转码低于此分辨率的视频时,`PhotoPrism` 会保持原始分辨率,不会将其放大处理。 + +### `视频比特率限制` 配置 + +默认值: `32`,单位为 `Mbit/s`。 + +如果有需要,可以根据自己的需求进行调整。 + +## 设备同步 PhotoSync + +![App Store](https://file.lifebus.top/imgs/photosync_app_store_qr.png) +![App Store](https://file.lifebus.top/imgs/photosync_google_play_qr.png) + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/photoprism/data.yml b/apps/photoprism/data.yml new file mode 100644 index 000000000..74d8b4bc1 --- /dev/null +++ b/apps/photoprism/data.yml @@ -0,0 +1,18 @@ +name: PhotoPrism +title: PhotoPrism +description: 面向去中心化网络的人工智能照片应用程序 +additionalProperties: + key: photoprism + name: PhotoPrism + tags: + - WebSite + - Tool + - Local + shortDescZh: 面向去中心化网络的人工智能照片应用程序 + shortDescEn: 面向去中心化网络的人工智能照片应用程序 + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.photoprism.app/ + github: https://github.com/photoprism/photoprism/ + document: https://docs.photoprism.app/ diff --git a/apps/photoprism/img.png b/apps/photoprism/img.png new file mode 100644 index 0000000000000000000000000000000000000000..8958520f15963295562142bbbb85d81056cdd5a0 GIT binary patch literal 7156 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