【Docker项目实战】Docker环境下部署immich照片管理系统

举报
江湖有缘 发表于 2024/02/23 15:54:11 2024/02/23
【摘要】 【Docker项目实战】Docker环境下部署immich照片管理系统

一、immich介绍

1.1 immich简介

直接从您的手机自托管照片和视频备份解决方案。

1.2 immich注意事项

该项目正在非常积极的开发中。
⚠️预计会出现错误和重大更改。
⚠️ 请勿将该应用程序用作存储照片和视频的唯一方式。
⚠️始终遵循 3-2-1 备份计划,为您珍贵的照片和视频!

1.3 immich使用场景

  • 个人照片管理:immich提供了一个简单而直观的界面,让个人用户能够方便地管理自己的照片集合。用户可以通过标签、日期和描述等元数据对照片进行分类和搜索,同时可以进行批量处理和编辑操作。

  • 团队协作:immich支持多用户使用,可以作为团队内部的照片管理工具。团队成员可以共享照片集合,并进行评论和讨论。通过权限管理,可以精确控制不同用户对照片的访问和编辑权限。

  • 专业摄影师:对于摄影师来说,照片管理是不可或缺的一环。immich提供了针对摄影师的一些特殊功能,如支持原始RAW文件的管理和预览、批量导出和水印处理等。摄影师可以方便地对照片进行整理、筛选和处理,从而节省时间和提高工作效率。

  • 图片库管理:immich的强大搜索和分类功能使其成为一个理想的图片库管理工具。无论是个人图片库、企业图片库还是公共图片库,都可以通过immich来进行统一管理和检索。用户可以根据需要自定义标签和分类方式,从而更方便地找到所需的图片。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.该项目提示更新频繁,请谨慎部署生产环境;
3.在Docker环境下部署immich照片管理系统。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-12-11 16:37:11 CST; 5h 58min ago
     Docs: https://docs.docker.com
 Main PID: 11899 (dockerd)
    Tasks: 53
   Memory: 187.3M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本,当前版本为20.10.17。

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载immich镜像

从谷歌仓库和docker hub仓库拉取immich相关镜像,版本为最新的latest版本。

docker pull  ghcr.io/imagegenius/immich:latest
docker pull redis
docker pull  postgres:14

五、部署immich照片管理系统

5.1 创建目录

创建主机挂载目录

mkdir -p /data/immich && cd /data/immich

5.2 编辑docker-compose.yaml文件

编辑docker-compose.yaml文件,内容如下。同时,也可以自定义修改文件中的映射端口等环境变量。

---
version: "2.1"
services:
  immich:
    image: ghcr.io/imagegenius/immich:latest
    container_name: immich
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
      - DB_HOSTNAME=postgres14
      - DB_USERNAME=postgres
      - DB_PASSWORD=postgres
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=redis
      - DISABLE_MACHINE_LEANRNING=false
      - DISABLE_TYPESENSE=false
      - DB_PORT=5432
      - REDIS_PORT=6379
      - REDIS_PASSWORD=
      - CUDA_ACCELERATION=false
    volumes:
      - /data/immich/config:/config
      - /data/immich/photos:/photos
      - /data/immich/machine:/config/machine-learning
    ports:
      - 8080:8080
    restart: unless-stopped
  redis:
    image: redis
    ports:
      - 6379:6379
    container_name: redis
  postgres14:
    image: postgres:14
    ports:
      - 8432:5432
    container_name: postgres14
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: immich
    volumes:
      - /data/immich/db:/var/lib/postgresql/data

5.3 创建immich相关容器

  • 使用docker-compose.yaml文件创建immich相关容器
[root@jeven immich]# docker compose up -d
[+] Running 4/4
 ⠿ Network immich_default  Created                                                                                      0.0s
 ⠿ Container immich        Started                                                                                      0.7s
 ⠿ Container redis         Started                                                                                      0.7s
 ⠿ Container postgres14    Started                                                                                      0.7s

5.4 检查immich容器状态

检查immich容器状态,确保容器正常启动。

[root@jeven immich]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
immich              "/init"                  immich              running             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
postgres14          "docker-entrypoint.s…"   postgres14          running             0.0.0.0:8432->5432/tcp, :::8432->5432/tcp
redis               "docker-entrypoint.s…"   redis               running             0.0.0.0:6379->6379/tcp, :::6379->6379/tcp

5.5 检查immich容器日志

检查immich容器运行日志,确保immich服务正常运行。

docker compose logs

在这里插入图片描述

六、访问immich服务

6.1 注册账号

访问地址:http://192.168.3.166:8080/,将IP更换为自己服务器的IP地址。如果无法访问,注意防火墙和安全组设置问题。

在这里插入图片描述

点击“Getting Started”,进入账号注册页面,自定义填写即可。

在这里插入图片描述

6.2 访问immich首页

填写设置的登录账号和密码,访问immich首页。

在这里插入图片描述

在这里插入图片描述

七、immich的基本使用

7.1 上传图片

点击上传选项,上传本地图片。

在这里插入图片描述

7.2 浏览图片

点击图片管理,可以看到刚上传的图片。

在这里插入图片描述

7.3 创建相册

在相册管理页面,点击创建相册。

在这里插入图片描述

输入相册名称,选择相册内的相片。

在这里插入图片描述

7.4 查看相册

在相册管理页面,可以看到相册列表。

在这里插入图片描述

7.5 查看统计数据

点击administrator,进入系统设置页面,选择“Server status”,可以看到相关统计信息。

在这里插入图片描述

八、总结

作为一款开源的照片管理系统,immich提供了简单的部署和漂亮的界面,以及快速的图片加载速度。它还拥有许多强大的功能,值得逐一去体验。如果你需要一个照片管理系统,不妨尝试一下immich。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。