mtphotos

mtphotos

Official

Docker app from baofeidyz's Repository

Overview

MT Photos 是面向 NAS 用户的私有照片与视频管理系统,支持导入已有图库、手机备份、缩略图、预览、人脸识别和地理位置元数据。本模板使用 mtphotos/mt-photos:latest,内置 PostgreSQL 数据库。 English: MT Photos is a private photo and video management system for NAS users. It supports importing existing libraries, mobile photo backup, thumbnails, previews, face recognition and location metadata. This template uses mtphotos/mt-photos:latest with bundled PostgreSQL.

MT Photos Unraid Templates

English | 简体中文

This repository contains an Unraid Docker template for MT Photos, a private photo and video management system for NAS users.

Repository contents

  • templates/mtphotos.xml — Unraid Docker template (v2) with bundled PostgreSQL
  • templates/mtphotos-nodb.xml — NoDB template for external PostgreSQL
  • templates/mtphotos-ai.xml — MT Photos AI recognition API (ONNX) template
  • templates/mtphotos-insightface-api.xml — MT Photos InsightFace facial recognition API template
  • ca_profile.xml — Community Applications maintainer profile
  • icons/mtphotos.png — Repository/application icon
  • README.md — English documentation (default)
  • README_CN.md — Simplified Chinese documentation
  • LICENSE — Template repository license

Image and configuration

  • mtphotos uses mtphotos/mt-photos:latest with bundled PostgreSQL; its database is persisted under /config.
  • mtphotos-nodb uses mtphotos/mt-photos:nodb-latest. Configure POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DATABASE, POSTGRES_USER and POSTGRES_PASSWORD, and back up the external database separately.

Both main apps default to the same WebUI port, upload path and library path. Do not run both with unchanged defaults. For a parallel installation, change one app's host port and its /config and /upload host paths.

Optional recognition services

App Image Port Configuration
mtphotos-ai mtphotos/mt-photos-ai:onnx-latest 8060/tcp API_AUTH_KEY
mtphotos-insightface-api devfox101/mt-photos-insightface-unofficial:latest 8066/tcp API_AUTH_KEY

Neither API container requires a storage mapping. After installation, add their API addresses in MT Photos, for example http://NAS-LAN-IP:8060 and http://NAS-LAN-IP:8066, using the matching API_AUTH_KEY from each template. InsightFace uses a community image and is not an official MT Photos image.

Setting Container target and host default
WebUI 8063/tcp
Tailscale WebUI port 8063
Settings and cache /config/mnt/user/appdata/mtphotos
Mobile uploads /upload/mnt/user/photos/MTPhotos-Upload
Existing library /photos/mnt/user/photos
Timezone TZ=Asia/Shanghai
Temporary storage (optional; transcoding use unverified) /temp/mnt/user/appdata/mtphotos/temp

Requirements

Recommended hardware: x86_64, at least 4 GB RAM and a dual-core 2.0 GHz CPU, following the official installation guide.

The bundled-database template persists PostgreSQL through /config. NoDB requires a separate PostgreSQL service; face recognition and text-to-image search require pgvector support.

Temporary storage: verification pending

The optional temp mapping is shown in advanced settings and exposes writable storage at /temp. It does not by itself select MT Photos' transcoding directory. Automatic use of this path has not been established from official documentation or a running image. There is no verified application setting or environment variable supplied here to redirect transcoding.

Before relying on this mapping, run a transcoding task and confirm the actual temporary output path from logs or process arguments and newly created files. If the application uses a different path, map that confirmed path instead. Do not treat completed transcodes in the permanent cache as proof that temporary files used /temp.

Required before publishing

Repository: baofeidyz/unraid-template-mtphotos. Maintainer: baofeidyz. Template support: GitHub Issues.

Publish the files to the main branch and verify these raw URLs:

https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/templates/mtphotos-nodb.xml
https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/templates/mtphotos.xml
https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/templates/mtphotos-ai.xml
https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/templates/mtphotos-insightface-api.xml
https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/icons/mtphotos.png
https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/README.md

The main application icon is icons/mtphotos.png. If you replace it, use an image you are authorized to publish and update both main app templates and ca_profile.xml if the path changes.

Validate and test

Validate the XML files from the repository root:

xmllint --noout ca_profile.xml templates/*.xml

Before submitting to Community Applications:

  1. Push to the main branch of a public GitHub repository.
  2. Check the URLs referenced by Icon, TemplateURL, ReadMe, Support, Project, WebPage, and Forum; ensure they are accessible and contain no placeholders.
  3. Install manually on Unraid and verify the main app's startup, WebUI access, database persistence under /config, backup restoration, mobile backup to /upload, and library access under /photos.
  4. Start each optional API, check it with the corresponding key, and verify AI and facial recognition jobs from MT Photos.
  5. Verify the actual temporary transcoding path and, if using the optional temp mapping, confirm temporary files are written to its host directory. Check host paths and timezone; use a read-only library mapping to prevent changes to originals, and verify separate database backups.
  6. Submit the public repository through the Unraid Community Applications submission portal.

Notes

  • The WebUI URL uses [PORT:8063], which Unraid resolves to the mapped host port.
  • /config stores the bundled database, settings, thumbnails, previews and cache; /upload stores mobile photo and video backups. Keep both mappings persistent and writable.
  • Add further path mappings in Unraid for additional libraries.
  • This repository packages only Community Applications metadata. MT Photos and its Docker image remain subject to their respective upstream terms.

Upstream references

Install Mtphotos on Unraid in a few clicks.

Find Mtphotos in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Mtphotos Review the template variables and paths Click Install

Requirements

需要 x86_64 系统。建议系统内存至少 4 GB、双核 2.0 GHz CPU。 English: Requires x86_64. Recommended: at least 4 GB RAM and a dual-core 2.0 GHz CPU.

Download Statistics

1,034,494
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
mtphotos/mt-photos:latest
Last Updated2026-09-09
First Seen2026-09-10

Runtime arguments

Web UI
http://[IP]:[PORT:8063]
Network
bridge
Shell
bash
Privileged
false

Template configuration

网页端口 / WebUI PortPorttcp

MT Photos 网页访问端口,可按需修改宿主机端口。 English: MT Photos web interface port; change the host port if needed.

Target
8063
Default
8063
配置与数据库目录 / Config and DatabasePathrw

保存内置 PostgreSQL 数据库、应用配置、缩略图、预览及缓存。此目录必须持久化并备份。 English: Stores the bundled PostgreSQL database, application settings, thumbnails, previews and cache. This directory must be persisted and backed up.

Target
/config
Default
/mnt/user/appdata/mtphotos
上传目录 / UploadPathrw

保存通过 MT Photos 手机 App 备份的照片和视频,需要可写权限。 English: Writable destination for photos and videos backed up from the MT Photos mobile app.

Target
/upload
Default
/mnt/user/photos/MTPhotos-Upload
图库目录 / PhotosPathrw

已有照片和视频所在目录,请将宿主机路径改为实际图库路径。如不允许修改原文件,请改为只读模式。 English: Existing photo and video library. Set the host path to your library; use read-only mode to prevent changes to originals.

Target
/photos
Default
/mnt/user/photos
临时目录(可选) / temp (optional)Pathrw

可选的临时文件目录映射,需要可写权限及足够空间。尚未确认 MT Photos 会自动将临时转码文件写入 /temp;仅添加映射不代表转码路径已设置。 English: Optional writable temporary storage with sufficient free space. Automatic use of /temp for transcoding has not been verified; this mapping alone does not configure the transcoding path.

Target
/temp
Default
/mnt/user/appdata/mtphotos/temp
时区 / TimezoneVariable

容器时区,使用 IANA 格式,例如 Asia/Shanghai 或 Europe/London。 English: Container timezone in IANA format, for example Asia/Shanghai or Europe/London.

Target
TZ
Default
Asia/Shanghai