mtphotos-nodb

mtphotos-nodb

Docker app from baofeidyz's Repository

Overview

MT Photos 是面向 NAS 用户的私有照片与视频管理系统,支持导入已有图库、手机备份、缩略图、预览、人脸识别和地理位置元数据。本模板使用 mtphotos/mt-photos:nodb-latest,不内置数据库,需另行配置数据库服务并单独备份。 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:nodb-latest, which does not bundle a database. Configure and back up a separate database service.

MT Photos NoDB Unraid Template

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-nodb.xml — Unraid Docker template (v2), with bilingual Chinese and English configuration descriptions
  • 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

The template uses the official mtphotos/mt-photos:nodb-latest image, which does not bundle a database, as documented in the official installation guide. Configure a separate database service. This template does not create a database container. Enter the connection settings below for your existing PostgreSQL service. Persist and back up the external database separately; backing up /config alone does not replace a database backup.

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
PostgreSQL host POSTGRES_HOST — required, no default
PostgreSQL port POSTGRES_PORT=5432
PostgreSQL database POSTGRES_DATABASE=postgres
PostgreSQL user POSTGRES_USER=postgres
PostgreSQL password POSTGRES_PASSWORD — required, no default; masked input
Temporary storage (optional; transcoding use unverified) /temp/mnt/user/appdata/mtphotos/temp

Configure the five POSTGRES_* variables to match your existing database, following the official environment variable reference. Use an address and port reachable from the MT Photos container; in bridge mode, localhost and 127.0.0.1 refer to the MT Photos container itself. The password setting does not change the database user's password.

Requirements and database networking

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

Face recognition and text-to-image search require PostgreSQL with pgvector support. The official database guide provides mtphotos/mt-photos-pg:latest; a plain PostgreSQL installation does not provide these vector features by itself.

  • With the default bridge network, use the NAS LAN IP and PostgreSQL's published host port. For example, if PostgreSQL publishes 5433:5432, set POSTGRES_PORT=5433.
  • To connect using a database container name, attach both containers to the same user-defined Docker network and use the database container port (normally 5432). Default bridge does not automatically resolve container names.
  • For a database on another server, use its reachable address and port. Do not use localhost or 127.0.0.1 for an external database.

See Docker bridge networking.

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/icons/mtphotos.png
https://raw.githubusercontent.com/baofeidyz/unraid-template-mtphotos/main/README.md

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

Validate and test

Validate both XML files from the repository root:

xmllint --noout ca_profile.xml templates/mtphotos-nodb.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, configure a separate database, and verify startup, database connectivity, WebUI access, persistence under /config, mobile backup to /upload, and library access under /photos.
  4. 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.
  5. 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 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-nodb on Unraid in a few clicks.

Find mtphotos-nodb 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-nodb Review the template variables and paths Click Install

Requirements

需要 x86_64 系统及独立 PostgreSQL 服务;人脸识别和以文搜图需要 pgvector 支持。建议系统内存至少 4 GB、双核 2.0 GHz CPU。 English: Requires x86_64 and a separate PostgreSQL service; face recognition and text-to-image search require pgvector support. 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:nodb-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
配置目录 / ConfigPathrw

保存应用配置、缩略图、预览及缓存,请备份此目录。此镜像不内置数据库,外部数据库需单独备份。 English: Stores application settings, thumbnails, previews and cache. Back up this directory and the external database separately; this image does not bundle a database.

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
数据库地址 / POSTGRES_HOSTVariable

必填。默认 bridge 网络请填写 NAS 的局域网 IP,并使用数据库发布的宿主机端口;数据库在其他服务器时填写其可访问地址。使用容器名需将两容器加入同一自定义网络。不要填写 localhost 或 127.0.0.1。 English: Required. On default bridge, use the NAS LAN IP and the database published host port, or a reachable remote server address. Container names require both containers on the same user-defined network. Do not use localhost or 127.0.0.1.

Target
POSTGRES_HOST
数据库端口 / POSTGRES_PORTVariable

外部 PostgreSQL 连接端口,默认 5432;请填写从本容器访问数据库时使用的端口。 English: External PostgreSQL connection port, default 5432. Use the port reachable from this container.

Target
POSTGRES_PORT
Default
5432
数据库名称 / POSTGRES_DATABASEVariable

要连接的 PostgreSQL 数据库名称,需与数据库服务中的实际名称一致。 English: PostgreSQL database name; must match the database configured on the server.

Target
POSTGRES_DATABASE
Default
postgres
数据库用户 / POSTGRES_USERVariable

连接 PostgreSQL 使用的用户名,需具备目标数据库的访问权限。 English: PostgreSQL username with access to the target database.

Target
POSTGRES_USER
Default
postgres
数据库密码 / POSTGRES_PASSWORDVariable

填写上述 PostgreSQL 用户的实际密码。本配置用于连接已有数据库,不会修改数据库密码。 English: Enter the actual password for the PostgreSQL user above. This setting connects to an existing database and does not change its password.

Target
POSTGRES_PASSWORD