很多朋友在家里购买服务器,多半都是存储一些照片和影音,如果选择的是群晖或者一些成品oem的机器都会有自带的相册功能,如果你也和我一样使用的是自己DIY的机器,也没有安装那些自带相册功能的系统,比如Ubuntu debian这类发行的Linux系统,所以今天我推荐给大家一个照片的管理工具,immich 目前我也在用,效果还不错。
教程:
介于现在绝大部分的nas或者Linux 的系统都可以安装docker或者docker compose,unriad也可以安装compose插件,所以我就写docker compose的教程。
注意如果是老版本的docker compose 插件,老版本的请在开头增加version: “3” 否者无法启动,新版本compose 取消了。
services: immich-server: image: ghcr.io/immich-app/immich-server:release container_name: immich-server hostname: immich-server privileged: true #nVidia硬件加速参数 runtime: nvidia volumes: - /data/appdata/immich/upload:/usr/src/app/upload #上传路径映射 #外部库目录,此文件夹将定期扫描,内容将自动导入immich,需要在immich上进行设置,容器路径可以自定义多个 - /data/appdata/immich/local:/local environment: - IMMICH_PORT=2283 - REDIS_HOSTNAME=immich-redis - DB_HOSTNAME=immich-pgsql - DB_DATABASE_NAME=immich - DB_USERNAME=immich - DB_PASSWORD=password #此密码是pgsql的密码,要与pgsql的数据库密码相同 #nVidia硬件加速参数 - NVIDIA_DRIVER_CAPABILITIES=all - NVIDIA_VISIBLE_DEVICES=0 - TZ=Asia/Shanghai ports: - 2283:2283/tcp restart: unless-stopped depends_on: - immich-redis - immich-pgsql #反代,参数如果你用的不是traefik,请删除 labels: - "traefik.http.routers.immich.rule=Host(`immich.xxxx.com`)" - "traefik.enable=true" - "traefik.http.services.immich.loadbalancer.server.port=2283" immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:release-cuda container_name: immich-machine-learning runtime: nvidia hostname: immich-machine-learning privileged: true restart: unless-stopped volumes: - /data/appdata/immich/cache:/cache ###修改红色的标注为你本地的存储路径 environment: - TZ=Asia/Shanghai - NVIDIA_DRIVER_CAPABILITIES=all - NVIDIA_VISIBLE_DEVICES=0 immich-redis: image: redis:latest container_name: immich-redis hostname: immich-redis volumes: - /data/appdata/immich/redis:/data ###修改红色标注数据库缓存路径到本地存储路径 restart: unless-stopped immich-pgsql: image: tensorchord/pgvecto-rs:pg16-v0.2.0 container_name: immich-pgsql hostname: immich-pgsql volumes: - /data/appdata/immich/pgsql:/var/lib/postgresql/data ###修改红色标注 数据库存储路径到本地存储路径 environment: - POSTGRES_DB=immich - POSTGRES_USER=immich - POSTGRES_PASSWORD=password ###此密码要与服务端密码相同 - TZ=Asia/Shanghai restart: unless-stopped
这个compose是我目前再用的,红色标注的部分,需要进行修改immich 一共四个组件
immich-server ###服务端
immich-machine-learning ###AI人脸识别
immich-redis ###数据库缓存
immich-pgsql ###数据库
上面的compose是使用nVidia显卡来做ai识别,还有视频编码加速的,如果是其他硬件,需要对应修改,下面我把其他平台的也写出来示例,但是没有经过测试,如果你们测试了有问题可以在下面留言反馈。
immich-server使用Intel 硬件加速,此加速需要有IGPU才可以,CPU后缀F的可以放弃了。
immich-server:
image: ghcr.io/immich-app/immich-server:release
container_name: immich-server
hostname: immich-server
privileged: true
volumes:
- /data/appdata/immich/upload:/usr/src/app/upload
- /data/appdata/immich/local:/local
environment:
- IMMICH_PORT=2283
- REDIS_HOSTNAME=immich-redis
- DB_HOSTNAME=immich-pgsql
- DB_DATABASE_NAME=immich
- DB_USERNAME=immich
- DB_PASSWORD=password
- TZ=Asia/Shanghai
ports:
- 2283:2283/tcp
restart: unless-stopped
depends_on:
- immich-redis
- immich-pgsql
devices:
- /dev/dri:/dev/dri ###Intel vaapi加速
labels:
- "traefik.http.routers.immich.rule=Host(`immich.xxxx.com`)"
- "traefik.enable=true"
- "traefik.http.services.immich.loadbalancer.server.port=2283"
这就是支持Intel 核显的视频编码解码 加速的配置了,注意自行修改映射路径。
immich-machine-learning使用gpu加速也与服务端相同,增加devices参数删除nvidia的参数即可,修改使用openvino。
immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:openvino container_name: immich-machine-learning hostname: immich-machine-learning privileged: true restart: unless-stopped volumes: - /data/appdata/immich/cache:/cache environment: - TZ=Asia/Shanghai devices: - /dev/dri:/dev/dri ###Intel vaapi加速 restart: unless-stopped
注意这里的镜像和使用nvidia的cuda是不同的我用红色进行了标注。
写好compose之后,linux可以用docker compose up -d 启动,其他nas系统自行处理
启动后使用ip:2283 访问,使用traefik反代的或者其他反代工具的,可以使用反代的域名进行访问。
到这里初始化就结束了,但是进入系统后,页面时英文的,我们进行修改让系统以中文显示。
设置硬件加速:
我们进入管理页面
在左侧找到设置
在最下面找到视频转码设置
结尾:
到此,基本部署结束,后续还有其他相关immich的内容,我在单独开一篇教程写。
请登录后查看评论内容