映射SMB共享目录
上传文件后无法触发CloudSync同步文件?
使用MT Photos上传或删除文件后,CloudSync无法触发同步;
这是因为群晖不会监听docker容器内对文件的改动;
因此需要使用cifs来挂载SMB共享路径,然后通过smb来触发群晖的文件变化
cifs来挂载SMB教程: https://mtmt.tech/docs/start/cifs/
需要注意的地方:
如果第一次输入的smb登录信息不对,需要修改;需要同时修改下volume名称,也就是下面的 cifs_mount
原因: 第一次运行docker compose时,docker会检查volume是否存在,没有的话就创建;
但是当volume已经存在,再修改username、password这些,也不会修改之前已存在的volume;
因此需要修改volume名称,让docker使用修改后的smb登录信息来创建新的volume;
version: "3"
services:
mtphotos:
#省略不相关部分
volumes:
#省略不相关部分
- cifs_mount:/photos_user1 # mount_user1为下方volumes挂载的smb路径 , /photos_user1为映射到容器内的路径
#省略不相关部分
volumes:
cifs_mount: # volume名称 cifs_mount 为示例模板,需要按下面模板文件 mount_user1 示例修改才能使用
driver: local
driver_opts:
type: cifs
device: //<REMOTE_IP>/<PATH_TO_LIBRARY> # REMOTE_IP PATH_TO_LIBRARY 需要替换为实际可用的值
o: "username=<USERNAME>,password=<PASSWORD>,vers=3.0,iocharset=utf8" # USERNAME PASSWORD 需要替换为实际可用的值
完整 docker-compose.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
- mount_user1:/photos_user1 # mount_user1为下方volumes挂载的smb路径
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
volumes:
mount_user1: # mount_user1为volume名称, 这里只是举例,可以改为别的名称
driver: local
driver_opts:
type: cifs
device: //127.0.0.1/homes/mt/Photos # 这里为SMB的访问路径, 127.0.0.1 表示当前机器
o: "username=mt,password=123456,vers=3.0,iocharset=utf8" # mt 有权限访问这个目录的用户, 123456为用户mt的密码
mount_user2: # 可以添加多个volume
driver: local
driver_opts:
type: cifs
device: //127.0.0.1/homes/mt/Photos
o: "username=mt,password=123456,vers=3.0,iocharset=utf8"