环境变量说明
支持哪些环境变量
| 变量名称 | 作用 | 值 | 例子 | 
|---|---|---|---|
| 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 | 
| SCAN_CRONTAB | 指定自动扫描图库的crontab任务 当配置SCAN_CRONTAB之后,默认的按间隔时间扫描图库任务将不再触发 | 默认不启用,可以填写Crontab表达式 | SCAN_CRONTAB=0 */1 * * * | 
| 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 | 
| LOGIN_RPM | 登录接口一分钟内可以尝试的次数 | 默认为10 | LOGIN_RPM=100 | 
| --- | |||
| 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_QQMAP | 指定反向代理域名-腾讯地图api | 默认为空 | PROXY_HOST_QQMAP=http://xxx.com/ | 
| PROXY_HOST_MAPBOX | 指定反向代理域名-mapbox api | 默认为空 | PROXY_HOST_MAPBOX=http://xxx.com/ | 
| PROXY_HOST_MAPTILER | 指定反向代理域名-maptiler api | 默认为空 | PROXY_HOST_MAPTILER=http://xxx.com/ | 
指定反向代理域名
在服务端只能访问内网的情况下,可以在通过内网中另一台能访问外网的服务器中转部分联网服务;
可配置的环境变量有:PROXY_HOST_AUTH、PROXY_HOST_AMAP、PROXY_HOST_MAPBOX
EXIF_OVERWRITE_TYPE = overwrite_original_in_place 可以解决部分情况下,文件权限变化的问题
LOGIN_RPM 一分钟内登录次数限制
为避免用户被暴力破解登录密码,默认一分钟内最多只能尝试登录10次;超过10次后,需要等待一分钟才能继续尝试登录;
如果需要调整次数,可以增加环境变量 LOGIN_RPM,值填写100 ,也就是一分钟内最多可以尝试100次登录;
自定义缩略图存储位置
默认情况下,所有的缩略图都保存在/config/cache目录下;
如果/config目录存储空间不够,可以给容器增加环境变量 CACHE_DIR_PATH 来指定缩略图存放的位置
需要修改容器的地方:
- 
1、给容器增加目录映射(可选),如果准备用来存放缩略图的文件夹已经映射给mtphotos容器了,这一步可以跳过,比如下面截图中的 /photo 
- 
2、给容器增加环境变量 CACHE_DIR_PATH , 值填写 缩略图新的位置 注意: CACHE_DIR_PATH的值, 需要填写映射到容器内的路径 注意: CACHE_DIR_PATH的值, 需要填写映射到容器内的路径 比如:下图配置 CACHE_DIR_PATH=/photo/cache, 而不是在nas中的路径/volume2/share/photo/cache
- 
3、移到缩略图到新的文件夹中 如果在配置 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 qqmap.xxx.com;
  location / {
    proxy_pass https://apis.map.qq.com/;
    proxy_set_header Host apis.map.qq.com;
  }
  location /mt_photos_qqmap/ {  # 也可以使用二级路径,配置PROXY_HOST_AMAP时,值应该填写 http://auth.xxx.com/mt_photos_amap/
    proxy_pass https://apis.map.qq.com/; # 注意结尾要加斜杠
    proxy_set_header Host apis.map.qq.com;
  }
}
server {
  listen 80;
  server_name mapbox.xxx.com;
  location / {
    proxy_pass https://api.mapbox.com/;
    proxy_set_header Host api.mapbox.com;
  }
}
server {
  listen 80;
  server_name maptiler.xxx.com;
  location / {
    proxy_pass https://api.maptiler.com/;
    proxy_set_header Host api.maptiler.com;
  }
}
 
         
         
         
        