安装
准备工作
Docker的详细介绍可以查看:Docker — 从入门到实践
安装
如果使用命令行的方式安装,可以参考下方的教程;
如果nas支持docker-compose,推荐使用按照 Docker Compose安装教程 来安装;
1. 下载最新的Docker镜像
docker pull mtphotos/mt-photos:latest
提示:当无法访问DockerHub时,请使用以下命令拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:latest docker tag registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:latest mtphotos/mt-photos:latest
第1条命令为拉取镜像
第2条命令为将镜像标记为Docker hub源,这样可以在图形化创建容器时使用
另外还可以用nodb-latest
、arm-latest
标签的镜像,比如:docker pull mtphotos/mt-photos:arm-latest
;
nodb-latest
为不含数据库版本的最新镜像;arm-latest
为ARM架构版本的最新镜像;
提示:ARM V8架构请使用
docker pull mtphotos/mt-photos:arm-latest
命令来拉取镜像提示:ARM V7架构 由于是32位处理器架构,不在支持列表中
2. 新建文件夹:mt_photos/config、mt_photos/upload
由于Docker容器被删了之后,容器内的文件也会被删除;
所以需要宿主机映射文件夹给容器用来保存数据及文件;
提示:请根据您NAS中实际的目录结构替换 /xxx 为合适的路径;
mkdir /xxx/mt_photos/config
mkdir /xxx/mt_photos/upload
config文件夹:用于存储数据库文件、缩略图、预览视频等缓存文件
upload文件夹:用于存储App备份的照片、视频
3. 新建并启动容器
使用docker run创建容器的命令:
docker run -d \
--name="mt-photos" \
-v /xxx/mt_photos/config:/config \
-v /xxx/mt_photos/upload:/upload \
-v /xxx/folder1:/folder1 \
-v /xxx/folder2:/folder2 \
-p 8063:8063 \
-e TZ="Asia/Shanghai" \
--restart="unless-stopped" \
mtphotos/mt-photos:latest
提示:ARM V8架构请将
mtphotos/mt-photos:latest
替换为mtphotos/mt-photos:arm-latest
命令来创建容器
说明:
/xxx/mt_photos/config
、/xxx/mt_photos/upload
为上一步新建的文件夹(即宿主机中的目录),这2个为必须要映射的目录/xxx/folder1
,/xxx/folder2
为已有的照片、视频所在的文件夹;您可以根据实际情况添加多个需要映射的目录
/folder1、/folder2只是举例,请根据实际情况替换,注意目录路径不要和容器内部系统目录冲突;
容器内部系统目录列表:/bin, /boot, /dev, /etc, /home, /lib, /media, /mnt, /opt, /proc, /root, /run, /sbin, /srv, /sys, /tmp, /usr, /var, /lib64, /config
提示:如果/config目录空间较小,担心缩略图目录(/config/cache)占用的空间过大,可以自定义缩略图存储位置
Docker Compose 安装教程
docker-compose的安装教程视频: https://www.bilibili.com/video/BV199XQYGEkw
提示:docker compose 和上面 docker run 创建容器的效果是一样的,只需要选择其中一种方法运行;
同时安装 MT Photos + 智能识别API + 人脸识别API 的yaml模板
version: "3"
services:
mtphotos:
image: registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:latest
container_name: mtphotos
restart: always
ports:
- 8063:8063
volumes:
- /volume1/docker/mt_photos/config:/config
- /volume1/photos/mt_photos_upload:/upload
- /volume1/xxx/其他需要映射的目录:/photos #提示:这一行是其他需要映射给容器的文件夹,如果没有可以删除这一行
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
dns:
- 114.114.114.114
depends_on:
- mtphotos_ai
- mtphotos_face_api
mtphotos_ai:
image: registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos-ai:onnx-latest
container_name: mtphotos_ai
restart: always
ports:
- 8060:8060
environment:
- API_AUTH_KEY=mt_photos_ai_extra
mtphotos_face_api:
image: crpi-gcuyquw9co62xzjn.cn-guangzhou.personal.cr.aliyuncs.com/devfox101/mt-photos-insightface-unofficial:latest
container_name: mtphotos_face_api
restart: always
ports:
- 8066:8066
environment:
- API_AUTH_KEY=mt_photos_ai_extra
yaml语法三大规则
规则一:缩进
yaml使用一个固定的缩进风格表示数据层结构关系,需要每个缩进级别由两个空格组成。一定不能使用tab键
规则二:冒号
services: image: mtphotos/mt-photos:latest
每个冒号后面一定要有一个空格(以冒号结尾不需要空格)
规则三:短横线
想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分
environment: - TZ=Asia/Shanghai - LANG=C.UTF-8 - PUID=1000 - PGID=100
初始化安装
容器运行成功后,需要进行初始化安装;
- 使用浏览器打开地址:http://192.168.1.10:8063/ ,
192.168.1.10
为NAS的IP,8063
为映射的端口号 - 选择系统的语言
- 创建管理员账户
- 设置图库
- 配置人脸识别、GPS信息识别等功能