前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Docker项目实战】Docker环境下部署immich照片管理系统

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

原创
作者头像
江湖有缘
修改2023-12-23 16:53:59
3.9K0
修改2023-12-23 16:53:59
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、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正常运行。

代码语言:bash
复制
[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。

代码语言:bash
复制
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

代码语言:bash
复制
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载immich镜像

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

代码语言:bash
复制
docker pull  ghcr.io/imagegenius/immich:latest
docker pull redis
docker pull  postgres:14

五、部署immich照片管理系统

5.1 创建目录

创建主机挂载目录

代码语言:bash
复制
mkdir -p /data/immich && cd /data/immich

5.2 编辑docker-compose.yaml文件

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

代码语言: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相关容器
代码语言:bash
复制
[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容器状态,确保容器正常启动。

代码语言:bash
复制
[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服务正常运行。

代码语言:bash
复制
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。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、immich介
    • 1.1 immich简介
      • 1.2 immich注意事项
      • 1.3 immich使用场景
      • 二、本地环境介绍
        • 2.1 本地环境规划
          • 2.2 本次实践介绍
          • 三、本地环境检查
            • 3.1 检查Docker服务状态
              • 3.2 检查Docker版本
                • 3.3 检查docker compose 版本
                • 四、下载immich镜像
                • 五、部署immich照片管理系统
                  • 5.1 创建目录
                    • 5.2 编辑docker-compose.yaml文件
                      • 5.3 创建immich相关容器
                        • 5.4 检查immich容器状态
                          • 5.5 检查immich容器日志
                          • 六、访问immich服务
                            • 6.1 注册账号
                              • 6.2 访问immich首页
                              • 七、immich的基本使用
                                • 7.1 上传图片
                                  • 7.2 浏览图片
                                    • 7.3 创建相册
                                      • 7.4 查看相册
                                        • 7.5 查看统计数据
                                        • 八、总结
                                        相关产品与服务
                                        容器镜像服务
                                        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                                        http://www.vxiaotou.com