diff --git a/.github/README.md b/.github/README.md
index 00b9661c..9abab1ba 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -39,6 +39,8 @@
| 🟢 | | 异次元店铺系统V3 | https://faka.wiki/ | 二次元发卡系统 | |
| 🟢 |
| 异次元店铺系统V4 | https://wiki.mcy.im/ | 二次元发卡系统 | |
| 🟢 |
| AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
+| 🟢 |
| AList-Aria2 | https://alist.nn.ci/ | 【含Aria2插件版】一款支持多重存储的文件列表程序 | |
+| 🟢 |
| AList-FFmpeg | https://alist.nn.ci/ | 【含FFmpeg插件版】一款支持多重存储的文件列表程序 | |
| 🟢 |
| ANI-RSS | https://docs.wushuo.top/ | 自动追番、订阅、下载 蜜柑RSS动漫 | |
| 🟢 |
| Aria2 Superng6版 | https://github.com/SuperNG6/docker-aria2/ | Docker Aria2的最佳实践 | |
| 🟢 |
| Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | |
@@ -67,8 +69,9 @@
| 🟢 |
| Homarr | https://homarr.dev/ | 一个时尚、现代化的仪表板 | |
| 🟢 |
| Iframely | https://iframely.com/ | 响应式 Web 嵌入和 URL 元的 Iframely API | |
| 🟢 |
| Immich | https://immich.app/ | 【完整版本】高性能自托管照片和视频管理解决方案 | Immich |
-| 🟢 |
| Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案 | Immich |
-| 🟢 |
| Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案 | Immich |
+| 🟢 |
| Immich-No-Machine | https://immich.app/ | 【无机器学习】高性能自托管照片和视频管理解决方案,适用于性能较差机器使用 | Immich |
+| 🟢 |
| Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案,适用于远端数据库,远端机器学习 | Immich |
+| 🟢 |
| Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案,适用于作为远端机器学习使用 | Immich |
| 🟢 |
| IYUU Plus | https://doc.iyuu.cn/ | 基于特征码的索引工具 | |
| 🟢 |
| 爱影CMS | https://www.iycms.com/ | 高性能高并发永久免费影视CMS | |
| 🟢 |
| Jellyfin | https://jellyfin.org/ | 自由软件媒体系统 | |
diff --git a/README.md b/README.md
index 5c55236a..8e8805ec 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,8 @@
| 🟢 |
| 异次元店铺系统V3 | https://faka.wiki/ | 二次元发卡系统 | |
| 🟢 |
| 异次元店铺系统V4 | https://wiki.mcy.im/ | 二次元发卡系统 | |
| 🟢 |
| AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
+| 🟢 |
| AList-Aria2 | https://alist.nn.ci/ | 【含Aria2插件版】一款支持多重存储的文件列表程序 | |
+| 🟢 |
| AList-FFmpeg | https://alist.nn.ci/ | 【含FFmpeg插件版】一款支持多重存储的文件列表程序 | |
| 🟢 |
| ANI-RSS | https://docs.wushuo.top/ | 自动追番、订阅、下载 蜜柑RSS动漫 | |
| 🟢 |
| Aria2 Superng6版 | https://github.com/SuperNG6/docker-aria2/ | Docker Aria2的最佳实践 | |
| 🟢 |
| Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | |
@@ -62,8 +64,9 @@
| 🟢 |
| Homarr | https://homarr.dev/ | 一个时尚、现代化的仪表板 | |
| 🟢 |
| Iframely | https://iframely.com/ | 响应式 Web 嵌入和 URL 元的 Iframely API | |
| 🟢 |
| Immich | https://immich.app/ | 【完整版本】高性能自托管照片和视频管理解决方案 | Immich |
-| 🟢 |
| Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案 | Immich |
-| 🟢 |
| Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案 | Immich |
+| 🟢 |
| Immich-No-Machine | https://immich.app/ | 【无机器学习】高性能自托管照片和视频管理解决方案,适用于性能较差机器使用 | Immich |
+| 🟢 |
| Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案,适用于远端数据库,远端机器学习 | Immich |
+| 🟢 |
| Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案,适用于作为远端机器学习使用 | Immich |
| 🟢 |
| IYUU Plus | https://doc.iyuu.cn/ | 基于特征码的索引工具 | |
| 🟢 |
| 爱影CMS | https://www.iycms.com/ | 高性能高并发永久免费影视CMS | |
| 🟢 |
| Jellyfin | https://jellyfin.org/ | 自由软件媒体系统 | |
diff --git a/apps/immich-no-machine/1.122.0/data.yml b/apps/immich-no-machine/1.122.0/data.yml
new file mode 100644
index 00000000..093e32b1
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/data.yml
@@ -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"
diff --git a/apps/immich-no-machine/1.122.0/docker-compose.yml b/apps/immich-no-machine/1.122.0/docker-compose.yml
new file mode 100644
index 00000000..c9410105
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/docker-compose.yml
@@ -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
diff --git a/apps/immich-no-machine/1.122.0/envs/default.env b/apps/immich-no-machine/1.122.0/envs/default.env
new file mode 100644
index 00000000..cd05f46e
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/envs/default.env
@@ -0,0 +1,2 @@
+# copyright© 2024 XinJiang Ms Studio
+ENV_FILE=.env
diff --git a/apps/immich-no-machine/1.122.0/envs/global.env b/apps/immich-no-machine/1.122.0/envs/global.env
new file mode 100644
index 00000000..e10989fe
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/envs/global.env
@@ -0,0 +1,2 @@
+# copyright© 2024 XinJiang Ms Studio
+TZ=Asia/Shanghai
diff --git a/apps/immich-no-machine/1.122.0/scripts/init.sh b/apps/immich-no-machine/1.122.0/scripts/init.sh
new file mode 100644
index 00000000..07fb8c3f
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/scripts/init.sh
@@ -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
diff --git a/apps/immich-no-machine/1.122.0/scripts/uninstall.sh b/apps/immich-no-machine/1.122.0/scripts/uninstall.sh
new file mode 100644
index 00000000..c86c4fbc
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/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/immich-no-machine/1.122.0/scripts/upgrade.sh b/apps/immich-no-machine/1.122.0/scripts/upgrade.sh
new file mode 100644
index 00000000..07fb8c3f
--- /dev/null
+++ b/apps/immich-no-machine/1.122.0/scripts/upgrade.sh
@@ -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
diff --git a/apps/immich-no-machine/README.md b/apps/immich-no-machine/README.md
new file mode 100644
index 00000000..6c48c680
--- /dev/null
+++ b/apps/immich-no-machine/README.md
@@ -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` 服务
+
+## 移动端应用
+
+