【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。
- 点赞
- 收藏
- 关注作者
评论(0)