mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2026-06-16 01:02:14 +08:00
@@ -0,0 +1,144 @@
|
||||
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: 3003
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_MACHINE_LEARNING
|
||||
labelZh: 机器学习端口
|
||||
labelEn: Machine Learning 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: "XLM-Roberta-Large-Vit-B-16Plus"
|
||||
edit: true
|
||||
envKey: MACHINE_LEARNING_PRELOAD__CLIP
|
||||
labelEn: Machine Learning Preload Model
|
||||
labelZh: 机器学习 预加载模型
|
||||
required: false
|
||||
type: text
|
||||
- default: "buffalo_l"
|
||||
edit: true
|
||||
envKey: MACHINE_LEARNING_PRELOAD__FACIAL_RECOGNITION
|
||||
labelEn: Machine Learning Preload Model
|
||||
labelZh: 人脸识别 预加载模型
|
||||
required: false
|
||||
type: select
|
||||
values:
|
||||
- label: antelopev2
|
||||
value: "antelopev2"
|
||||
- label: buffalo_l
|
||||
value: "buffalo_l"
|
||||
- label: buffalo_m
|
||||
value: "buffalo_m"
|
||||
- label: buffalo_s
|
||||
value: "buffalo_s"
|
||||
- default: "https://hf-mirror.com"
|
||||
edit: true
|
||||
envKey: HF_ENDPOINT
|
||||
labelZh: Hugging Face 服务地址
|
||||
labelEn: Hugging Face Endpoint
|
||||
rule: paramExtUrl
|
||||
required: false
|
||||
type: text
|
||||
@@ -0,0 +1,71 @@
|
||||
version: "3.8"
|
||||
|
||||
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}' || 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-machine-learning:
|
||||
image: ghcr.io/immich-app/immich-machine-learning:v1.108.0
|
||||
container_name: immich-machine-learning-${CONTAINER_NAME}
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
ports:
|
||||
- ${PANEL_APP_PORT_MACHINE_LEARNING}:3003
|
||||
env_file:
|
||||
- /etc/1panel/envs/global.env
|
||||
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||
volumes:
|
||||
- ${IMMICH_ROOT_PATH}/data/cache:/cache
|
||||
|
||||
immich-server:
|
||||
depends_on:
|
||||
- immich-pg14-vectors
|
||||
image: ghcr.io/immich-app/immich-server:v1.108.0
|
||||
container_name: immich-server-${CONTAINER_NAME}
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
ports:
|
||||
- ${PANEL_APP_PORT_HTTP}:3001
|
||||
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
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
# setup-1 add default values
|
||||
CURRENT_DIR=$(pwd)
|
||||
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
# setup-1 add default values
|
||||
CURRENT_DIR=$(pwd)
|
||||
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
@@ -0,0 +1,82 @@
|
||||
# Immich
|
||||
|
||||
Immich - 高性能自托管照片和视频备份解决方案
|
||||
|
||||

|
||||
|
||||
## 简介
|
||||
|
||||
欢迎您
|
||||
您好,很高兴您能来到这里。
|
||||
|
||||
我叫亚历克斯。我在学校时是一名电气工程师,后来因为工作和对解决问题的纯粹热爱而成为了一名软件工程师。
|
||||
|
||||
我们和新生儿躺在床上,我妻子说:"我们开始积累大量宝宝的照片和视频,我不想再为 App-Which-Must-Not-Be-Name
|
||||
付费了。你总是想为我建一些东西,为什么不为我建一个能做到这一点的应用程序呢?
|
||||
|
||||
就这样,这个想法开始在我脑海中萌生。之后,我开始在自助托管领域寻找具有类似备份功能和 "非命名应用程序 "
|
||||
性能水平的现有解决方案。我发现目前的解决方案主要集中在画廊类型的应用程序上。然而,我想要的是一个简单易用的备份工具,并带有一个能高效查看照片和视频的本地移动应用程序。于是,我作为一名如饥似渴的工程师踏上了寻找之旅。
|
||||
|
||||
另一个促使我执行 "不可名状的应用程序 "替代方案的动机是,我希望能为开源社区做出贡献,多年来我从这个社区中受益匪浅。
|
||||
|
||||
我很荣幸能与大家分享这一作品,它重视隐私、回忆,以及在易用、友好的界面中回顾这些时刻的喜悦。
|
||||
|
||||
如果您喜欢这款应用程序,或者它在某些方面对您有帮助,请考虑支持这个项目。这将有助于我继续开发和维护应用程序。
|
||||
|
||||
## 环境准备
|
||||
|
||||
+ `Redis` 服务
|
||||
|
||||
Immich 使用 Redis 作为缓存服务,所以需要安装 Redis 服务。
|
||||
|
||||
## 升级说明
|
||||
|
||||
+ **大版本** `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` 服务
|
||||
@@ -0,0 +1,19 @@
|
||||
name: Immich
|
||||
title: 高性能自托管照片和视频备份解决方案
|
||||
description: 高性能自托管照片和视频备份解决方案
|
||||
additionalProperties:
|
||||
key: immich
|
||||
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: 756 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user