发布应用 Immich 无机器学习版本

Signed-off-by: Meng Sen <qyg2297248353@gmail.com>
This commit is contained in:
新疆萌森软件开发工作室 2024-12-06 10:55:08 +08:00
parent 1a8c4230df
commit f15126b170
12 changed files with 395 additions and 4 deletions

7
.github/README.md vendored
View File

@ -39,6 +39,8 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/acg-faka/logo.png" width="22"/> | 异次元店铺系统V3 | https://faka.wiki/ | 二次元发卡系统 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mcy-shop/logo.png" width="22"/> | 异次元店铺系统V4 | https://wiki.mcy.im/ | 二次元发卡系统 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList-Aria2 | https://alist.nn.ci/ | 【含Aria2插件版】一款支持多重存储的文件列表程序 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList-FFmpeg | https://alist.nn.ci/ | 【含FFmpeg插件版】一款支持多重存储的文件列表程序 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/ani-rss/logo.png" width="22"/> | ANI-RSS | https://docs.wushuo.top/ | 自动追番、订阅、下载 蜜柑RSS动漫 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/aria2-superng6/logo.png" width="22"/> | Aria2 Superng6版 | https://github.com/SuperNG6/docker-aria2/ | Docker Aria2的最佳实践 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/artalk/logo.png" width="22"/> | Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | |
@ -67,8 +69,9 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/homarr/logo.png" width="22"/> | Homarr | https://homarr.dev/ | 一个时尚、现代化的仪表板 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iframely/logo.png" width="22"/> | Iframely | https://iframely.com/ | 响应式 Web 嵌入和 URL 元的 Iframely API | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich | https://immich.app/ | 【完整版本】高性能自托管照片和视频管理解决方案 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-No-Machine | https://immich.app/ | 【无机器学习】高性能自托管照片和视频管理解决方案,适用于性能较差机器使用 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案,适用于远端数据库,远端机器学习 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案,适用于作为远端机器学习使用 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iyuu-plus/logo.png" width="22"/> | IYUU Plus | https://doc.iyuu.cn/ | 基于特征码的索引工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iycms/logo.png" width="22"/> | 爱影CMS | https://www.iycms.com/ | 高性能高并发永久免费影视CMS | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/jellyfin/logo.png" width="22"/> | Jellyfin | https://jellyfin.org/ | 自由软件媒体系统 | |

View File

@ -34,6 +34,8 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/acg-faka/logo.png" width="22"/> | 异次元店铺系统V3 | https://faka.wiki/ | 二次元发卡系统 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mcy-shop/logo.png" width="22"/> | 异次元店铺系统V4 | https://wiki.mcy.im/ | 二次元发卡系统 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList-Aria2 | https://alist.nn.ci/ | 【含Aria2插件版】一款支持多重存储的文件列表程序 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList-FFmpeg | https://alist.nn.ci/ | 【含FFmpeg插件版】一款支持多重存储的文件列表程序 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/ani-rss/logo.png" width="22"/> | ANI-RSS | https://docs.wushuo.top/ | 自动追番、订阅、下载 蜜柑RSS动漫 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/aria2-superng6/logo.png" width="22"/> | Aria2 Superng6版 | https://github.com/SuperNG6/docker-aria2/ | Docker Aria2的最佳实践 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/artalk/logo.png" width="22"/> | Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | |
@ -62,8 +64,9 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/homarr/logo.png" width="22"/> | Homarr | https://homarr.dev/ | 一个时尚、现代化的仪表板 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iframely/logo.png" width="22"/> | Iframely | https://iframely.com/ | 响应式 Web 嵌入和 URL 元的 Iframely API | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich | https://immich.app/ | 【完整版本】高性能自托管照片和视频管理解决方案 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-No-Machine | https://immich.app/ | 【无机器学习】高性能自托管照片和视频管理解决方案,适用于性能较差机器使用 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案,适用于远端数据库,远端机器学习 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案,适用于作为远端机器学习使用 | Immich |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iyuu-plus/logo.png" width="22"/> | IYUU Plus | https://doc.iyuu.cn/ | 基于特征码的索引工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iycms/logo.png" width="22"/> | 爱影CMS | https://www.iycms.com/ | 高性能高并发永久免费影视CMS | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/jellyfin/logo.png" width="22"/> | Jellyfin | https://jellyfin.org/ | 自由软件媒体系统 | |

View File

@ -0,0 +1,117 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_REDIS_SERVICE
required: true
type: service
default: redis
envKey: PANEL_REDIS_TYPE
labelZh: Redis 服务 (前置检查)
labelEn: Redis Service (Pre-check)
required: true
type: apps
values:
- label: Redis
value: redis
- default: "/home/immich-app"
edit: true
envKey: IMMICH_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 2283
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: DB_PASSWORD
labelEn: Database Password
labelZh: 数据库连接密码
random: true
required: true
rule: paramComplexity
type: password
- default: 5432
edit: true
envKey: PANEL_APP_PORT_DB
labelZh: 数据库 端口
labelEn: Database Port
required: true
rule: paramPort
type: number
- default: "immich-pg14-vectors"
disabled: true
envKey: DB_HOSTNAME
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: "postgres"
disabled: true
envKey: DB_USERNAME
labelZh: 数据库 用户名
labelEn: Database User
required: true
type: text
- default: "immich"
disabled: true
envKey: DB_DATABASE_NAME
labelZh: 数据库 名称
labelEn: Database Name
required: true
type: text
- default: "127.0.0.1"
edit: true
envKey: REDIS_HOSTNAME
labelZh: Redis 主机
labelEn: Redis Host
required: true
type: text
- default: 6379
edit: true
envKey: REDIS_PORT
labelZh: Redis 端口
labelEn: Redis Port
required: true
rule: paramPort
type: number
- default: 0
edit: true
envKey: REDIS_DBINDEX
labelZh: Redis 索引
labelEn: Redis Index
required: true
type: number
- default: ""
edit: true
envKey: REDIS_USERNAME
labelZh: Redis 用户名
labelEn: Redis Username
required: false
type: text
- default: ""
edit: true
envKey: REDIS_PASSWORD
labelZh: Redis 密码
labelEn: Redis Password
required: false
type: password
- default: "false"
edit: true
envKey: IMMICH_IGNORE_MOUNT_CHECK_ERRORS
labelZh: 是否跳过目录检查
labelEn: Skip Mount Check
required: false
type: select
values:
- label: 跳过检查
value: "true"
- label: 不跳过检查
value: "false"

View File

@ -0,0 +1,75 @@
networks:
1panel-network:
external: true
name: immich
services:
immich-pg14-vectors:
image: tensorchord/pgvecto-rs:pg14-v0.2.0
container_name: pg14-vectors-${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_DB:-5432}:5432
volumes:
- ${IMMICH_ROOT_PATH}/pg14/data:/var/lib/postgresql/data
healthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command:
[
'postgres',
'-c',
'shared_preload_libraries=vectors.so',
'-c',
'search_path="$$user", public, vectors',
'-c',
'logging_collector=on',
'-c',
'max_wal_size=2GB',
'-c',
'shared_buffers=512MB',
'-c',
'wal_compression=on',
]
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME:-postgres}
POSTGRES_DB: ${DB_DATABASE_NAME:-immich}
POSTGRES_INITDB_ARGS: '--data-checksums'
immich-server:
depends_on:
- immich-pg14-vectors
image: ghcr.io/immich-app/immich-server:v1.122.0
container_name: immich-server-${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
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
ports:
- ${PANEL_APP_PORT_HTTP}:2283
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${IMMICH_ROOT_PATH}/data/library:/usr/src/app/upload
- /etc/localtime:/etc/localtime
healthcheck:
disable: false

View File

@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,129 @@
# Immich
Immich - 高性能自托管照片和视频备份解决方案
![Immich](https://file.lifebus.top/imgs/immich_cover.png)
![](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)
## 简介
> 该版本无 `机器学习` 模块,适用于不具备硬件条件的用户。
>
> 您将无法使用 `机器学习` 功能,如 `CLIP``人脸识别` 等功能。
>
> 如果您需要 `机器学习` 模块,可通过配置远端 `机器学习` 服务来使用。
欢迎您
您好,很高兴您能来到这里。
我叫亚历克斯。我在学校时是一名电气工程师,后来因为工作和对解决问题的纯粹热爱而成为了一名软件工程师。
我们和新生儿躺在床上,我妻子说:"我们开始积累大量宝宝的照片和视频,我不想再为 App-Which-Must-Not-Be-Name
付费了。你总是想为我建一些东西,为什么不为我建一个能做到这一点的应用程序呢?
就这样,这个想法开始在我脑海中萌生。之后,我开始在自助托管领域寻找具有类似备份功能和 "非命名应用程序 "
性能水平的现有解决方案。我发现目前的解决方案主要集中在画廊类型的应用程序上。然而,我想要的是一个简单易用的备份工具,并带有一个能高效查看照片和视频的本地移动应用程序。于是,我作为一名如饥似渴的工程师踏上了寻找之旅。
另一个促使我执行 "不可名状的应用程序 "替代方案的动机是,我希望能为开源社区做出贡献,多年来我从这个社区中受益匪浅。
我很荣幸能与大家分享这一作品,它重视隐私、回忆,以及在易用、友好的界面中回顾这些时刻的喜悦。
如果您喜欢这款应用程序,或者它在某些方面对您有帮助,请考虑支持这个项目。这将有助于我继续开发和维护应用程序。
## 环境准备
+ `Redis` 服务
Immich 使用 Redis 作为缓存服务,所以需要安装 Redis 服务。
### 硬件驱动挂载
默认仅挂载: `/dev/dri`,如果您的设备不存在硬件驱动,请使用删除完整 `devices` 配置。
可以通过 `ls /dev/` 查看存在的设备驱动。
```yml
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
```
如果您的设备存在其他硬件驱动,可以选择挂载。删除 `# ` 号即可。格式为:`宿主机路径:容器路径`
格式请与 `- /dev/dri:/dev/dri` 保持一致。
## 升级说明
+ **大版本** `v1.106.2`
`2024/06/12` 上线,升级需要注意:
1. 移除 `immich-microservices` 服务
2. 环境变量发生了合并
3. 底层API发生了变化
4. 移动端需要同步更新
## 安装说明
### 机器学习 预加载模型(CLIP)
可选模型列表,粘贴时输入 `immich-app/` 之后的内容即可。
[immich-app's Collections - CLIP](https://huggingface.co/collections/immich-app/clip-654eaefb077425890874cd07)
[immich-app's Collections - Multilingual CLIP](https://huggingface.co/collections/immich-app/multilingual-clip-654eb08c2382f591eeb8c2a7)
默认模型
中文支持较好的模型 `XLM-Roberta-Large-Vit-B-16Plus`
### 人脸识别 预加载模型
`buffalo_l`, `buffalo_m`, `buffalo_s`, `antelopev2`
## 常见问题
+ 安装失败
+ 网络问题,可以尝试使用代理
+ 升级失败
+ 请查看升级说明
+ 请查看日志,查看具体错误信息
+ 记录安装参数,进行卸载重装
+ 升级1Panel后,提示容器找不到
+ 请删除容器,重新安装
+ 提示文件或目录不存在
+ 可手动创建不存在的文件和目录,然后重试
+ 创建的文件可为空文件
+ 每次都升级失败
+ 很抱歉,官方应用不支持编排式应用(一个应用包含多个容器)的安装与升级,您可以尝试手动卸载安装最新版
+ 无法访问
+ 请检查是否安装了 `Redis` 服务
+ 请检查是否正确配置了 `Redis` 服务
+ 请检查是否正确配置了 `域名``SSL`
+ 请检查是否正确配置了 `端口`
+ 请检查是否正确配置了 `防火墙` 并开放了 `端口`
+ 请检查是否正确配置了 `Nginx` 服务
## 移动端应用
<div style="text-align: center; display: flex; justify-content: center; gap: 20px;">
<div style="display: flex; flex-direction: column; align-items: center;">
<img src="https://file.lifebus.top/imgs/immich_app_store_qr.png" alt="App Store" style="width: 256px;">
<a href="https://apps.apple.com/sg/app/immich/id1613945652" style="text-align: center;">App Store</a>
</div>
<div style="display: flex; flex-direction: column; align-items: center;">
<img src="https://file.lifebus.top/imgs/immich_google_play_qr.png" alt="Google Play" style="width: 256px;">
<a href="https://play.google.com/store/apps/details?id=app.alextran.immich" style="text-align: center;">Google Play</a>
</div>
</div>
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

View File

@ -0,0 +1,16 @@
additionalProperties:
key: immich-no-machine
name: Immich (无机器学习)
tags:
- WebSite
- Media
- Storage
- Local
shortDescZh: 高性能自托管照片和视频备份解决方案
shortDescEn: High performance self-hosted photo and video backup solution
type: website
crossVersionUpdate: true
limit: 0
website: https://immich.app/
github: https://github.com/immich-app/immich/
document: https://immich.app/docs/overview/introduction/

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB