环境变量说明
支持哪些环境变量
变量名称 | 作用 | 值 | 例子 |
---|---|---|---|
RAW_SUPPORT | 扫描图库时是否显示RAW格式照片 | 默认为显示,填off可在扫描时忽略RAW格式 | RAW_SUPPORT=off |
LIVE_PHOTO_CHECK_TIME | 匹配动态照片时是否验证照片和视频的拍摄日期 | 默认为验证,填off可忽略拍摄日期差异 | LIVE_PHOTO_CHECK_TIME=off |
MT_SERVER_PORT | 指定MT Photos服务端的端口 | 默认为8063 | MT_SERVER_PORT=8063 |
SCAN_INTERVAL | 指定自动扫描图库的间隔时间,单位为分钟 | 默认为15,最大支持9999 | SCAN_INTERVAL=60 |
EXIF_OVERWRITE_TYPE | 指定exiftool写入模式 | 默认为overwrite_original | EXIF_OVERWRITE_TYPE=overwrite_original_in_place |
DAY_MAX_FILE_NUM | 时间线模式中单天显示的照片数量上限 | 默认为298 | DAY_MAX_FILE_NUM=999 |
STREAM_LINK_TTL | 分享的串流地址有效时间,单位为分钟 | 默认为30 | STREAM_LINK_TTL=180 |
CACHE_DIR_PATH | 自定义保存缩略图的位置 | 默认为/config/cache | CACHE_DIR_PATH=/folder_path/cache |
--- | |||
REDIS_HOST | 指定要连接的Redis的地址 | 默认为127.0.0.1 | REDIS_HOST=127.0.0.1 |
REDIS_PORT | 指定要连接的Redis的端口号 | 默认为6379 | REDIS_PORT=6379 |
REDIS_PASSWORD | 指定要连接的Redis的密码 | 默认为空 | REDIS_PASSWORD=123456 |
--- | |||
POSTGRES_HOST | 指定要连接的PostgreSQL数据库的地址 | 默认为127.0.0.1 | POSTGRES_HOST=127.0.0.1 |
POSTGRES_PORT | 指定要连接的PostgreSQL数据库的端口号 | 5432 | POSTGRES_PORT=5432 |
POSTGRES_SSL | 指定数据库地址连接是否开启SSL | 默认为off | POSTGRES_SSL=on |
POSTGRES_USER | 指定要连接的PostgreSQL数据库的用户名 | postgres | POSTGRES_USER=postgres |
POSTGRES_PASSWORD | 指定要连接的PostgreSQL数据库的密码 | 空 | POSTGRES_PASSWORD=123456 |
POSTGRES_DATABASE | 指定要连接的PostgreSQL数据库的数据库名 | postgres | POSTGRES_DATABASE=postgres |
--- | |||
PUID | 指定/upload目录的用户uid | 默认为0 | PUID=1000 |
PGID | 指定/upload目录的用户gid | 默认为0 | PGID=100 |
UMASK | 定义创建文件和目录时默认应该屏蔽掉的权限位 | 默认为0000 | UMASK=0022 |
TZ | 服务端的时区 | 默认为读取系统时区 | TZ="Asia/Shanghai" |
--- | |||
PROXY_HOST_AUTH | 指定反向代理域名-授权服务器 | 默认为空 | PROXY_HOST_AUTH=http://xxx.com/ |
PROXY_HOST_AMAP | 指定反向代理域名-高德api | 默认为空 | PROXY_HOST_AMAP=http://xxx.com/ |
PROXY_HOST_MAPBOX | 指定反向代理域名-mapbox api | 默认为空 | PROXY_HOST_MAPBOX=http://xxx.com/ |
指定反向代理域名
在服务端只能访问内网的情况下,可以在通过内网中另一台能访问外网的服务器中转部分联网服务;
可配置的环境变量有:PROXY_HOST_AUTH、PROXY_HOST_AMAP、PROXY_HOST_MAPBOX
EXIF_OVERWRITE_TYPE = overwrite_original_in_place 可以解决部分情况下,文件权限变化的问题
自定义缩略图存储位置
默认情况下,所有的缩略图都保存在/config/cache目录下;
如果/config目录存储空间不够,可以给容器增加环境变量 CACHE_DIR_PATH 来指定缩略图存放的位置
需要修改容器的地方:
- 1、给容器增加目录映射(可选),如果准备用来存放缩略图的文件夹已经映射给mtphotos容器了,这一步可以跳过,比如下面截图中的 /photo
- 2、给容器增加环境变量 CACHE_DIR_PATH , 值填写 缩略图新的位置
注意: CACHE_DIR_PATH的值, 需要填写映射到容器内的路径
比如:下图配置
CACHE_DIR_PATH
=/photo/cache
, 而不是在nas中的路径/volume2/share/photo/cache
移到缩略图到新的文件夹中:
如果在配置 CACHE_DIR_PATH 环境变量之前,已经有缩略图了; 需要将 /config/cache
下的文件移动到新的位置;
比如下面截图中,需要将原来的缩略图文件从 docker/mt/config/cache
移动到 share/photo/cache
文件夹中;后面新生成的缩略图也会保存到share/photo/cache
中
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
- /volume2/share/photo:/photo #这一行是之前已经映射的文件夹,可以在这个文件夹里创建 cache文件夹
- /volume2/xxx/cache:/cache #或者也可以增加其他的目录映射,然后对应的环境变量填 CACHE_DIR_PATH=/cache
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
- CACHE_DIR_PATH=/photo/cache # 增加这一行,注意格式,不要有空格
# ... 此处省略其他无需修改的内容
额外说明
环境变量设置了PUID、PGID,/upload所属的用户没变?
如果在配置PUID、PGID之前,/upload 文件夹中已经有文件了,那么需要在MT Photos的docker容器内执行以下命令来修改已有文件的用户
chown -R postgres:postgres /upload
如何使用环境变量
命令行方式运行时
增加-e 参数,命令示例如下:
docker run -d \
--name="mt-photos" \
-v /appdata/mt_photos/config:/config \
-v /appdata/mt_photos/upload:/upload \
-v /photos/folder1:/folder1 \
-v /photos/folder2:/folder2 \
-p 8063:8063 \
-e TZ="Asia/Shanghai" \
-e RAW_SUPPORT="open" \
-e SCAN_INTERVAL="60" \
--restart="unless-stopped" \
mtphotos/mt-photos
在Unraid中使用
先点击【+ Add another Path, Port, Variable, Label or Device】;
然后config type选择Variable;
最后在Key、Value中填入对应的值;
添加后:
在群晖中使用
先点击【环境】,然后添加【添加】;
然后填入对应的值;
使用nginx反向代理授权服务器
配置文件可以参考下面的配置:
注意:proxy_set_header Host 一定要添加
server {
listen 80;
server_name auth.xxx.com;
location / {
proxy_pass https://auth.mtmt.tech/; # 注意结尾要加斜杠
proxy_set_header Host auth.mtmt.tech;
}
location /mt_photos_auth/ { # 也可以使用二级路径,配置PROXY_HOST_AUTH时,值应该填写 http://auth.xxx.com/mt_photos_auth/
proxy_pass https://auth.mtmt.tech/; # 注意结尾要加斜杠
proxy_set_header Host auth.mtmt.tech;
}
}
server {
listen 80;
server_name amap.xxx.com;
location / {
proxy_pass https://restapi.amap.com/;
proxy_set_header Host restapi.amap.com;
}
location /mt_photos_amap/ { # 也可以使用二级路径,配置PROXY_HOST_AMAP时,值应该填写 http://auth.xxx.com/mt_photos_amap/
proxy_pass https://restapi.amap.com/; # 注意结尾要加斜杠
proxy_set_header Host restapi.amap.com;
}
}
server {
listen 80;
server_name mapbox.xxx.com;
location / {
proxy_pass https://api.mapbox.com/;
proxy_set_header Host api.mapbox.com;
}
}