Files
BlogPosts/文章/技术类/在ARM架构的Ubuntu中使用Docker Compose部署MTPhotos.md
zibright 14f2125e8d udpate
2025-07-22 17:57:13 +08:00

4.7 KiB
Raw Blame History

在ARM架构的Ubuntu中使用Docker Compose部署MTPhotos

前言

之前我总是使用1panel面板的Docker进行图形化的操作直到有一天我遇到了一个需要三个镜像配合的项目——MTPhotos 为什么会使用mtphotos呢我以前都是使用老电脑装飞牛OS当作NAS使用但是飞牛OS哪哪都挺好就是不支持vivo的动态图片相册里的动态图片是一张jpg一段MP4看得我脑阔痛而且用X86的核显老电脑安装飞牛OS视频转码压根跑不动如此一来偌大个飞牛就只用来当云相册用有点心疼电费我就把目光投向了角落的Nanopi-R5S 好在友善官方一直在更新R5S的各种固件有OpenWRT有Ubuntu有Debian甚至还有Proxmox的固件我就准备用Ubuntu装个MTPhotos来试试

准备工作

将R5S刷入ubuntu-noble-core固件

线刷方便得鸭皮,没有 USBA-A 的线材也可以使用卡刷,具体看上方友善官方文档

装个m.2硬盘进去当docker的镜像盘

mtphotos有三个镜像文件需要七八个G

安装个Mobaxtrem汉化版方便文件传输和SSH连接

SSH用户是 pi 密码也是

正式开始部署

初始化Ubuntu

首先当然是Linux初始化套路 登录切root用户懒得加sudo密码是 pi

sudo -i

改时区

timedatectl set-timezone Asia/Shanghai

换源

Ubuntu 24.04 换源方式有变

vim /etc/apt/sources.list.d/ubuntu.sources

用 # 注释掉之前的所有内容,添加如下内容

Types: deb
URIs: http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

X86架构不需要添加 URIs 条目后的 -ports

更新

apt update && apt upgrade -y

挂载m.2硬盘

安装 curl 和 fdisk

apt install curl fdisk -y

查看当前m.2硬盘路径

fdisk -l

格式化硬盘

mkfs.ext4 /dev/nvme0n1

/dev/nvm10n1 是上一步查看到的对应的m.2硬盘路径

获取硬盘UUID

blkid /dev/nvme0n1

创建挂载文件夹

mkdir /nvme

编辑自动挂载文件

vim /etc/fstab

格式如下

UUID=xxxx /nvme ext4 defaults 0 0

xxxx 为 blkid /dev/nvme0n1 命令获取的 UUID="xxxx" 的内容

重启

reboot

安装并启动Docker和Docker compose

更新包管理工具

apt-get update

使用官方一键安装脚本配合阿里云镜像一键安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

启动并查看运行状态

service docker start
docker version
docker compose version
systemctl status docker

配置Docker镜像加速和镜像存放路径

vim /etc/docker/daemon.json

按 I 进入编辑模式,配置如下

{
    "registry-mirrors": ["https://docker.xuanyuan.me","https://docker.1panel.live"],
    "data-root": "/nvme/docker"
}

按 Esc 退出编辑模式,输入 :wq 保存并退出 重载daemon.json文件

systemctl daemon-reload
systemctl restart docker

如果一切顺利那么该安装mtphotos了

创建个目录

mkdir /opt/mtphotos

进入

cd /opt/mtphotos

创建并编辑docker-compose.yaml文件

vim docker-compose.yaml

按 I 进入编辑模式并填入以下内容

version: "3"

services:
  mtphotos:
    image: registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:arm-latest
    container_name: mtphotos
    restart: unless-stopped
    network_mode: host
    volumes:
      - /opt/mtphotos/config:/config
      - /nvme/mtphotos/upload:/upload
    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:arm-latest
    container_name: mtphotos_ai
    restart: unless-stopped
    network_mode: host
    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:arm-latest
    container_name: mtphotos_face_api
    restart: unless-stopped
    network_mode: host
    environment:
      - API_AUTH_KEY=mt_photos_ai_extra

按 Esc 退出编辑模式,输入 :wq 保存并退出 拉取运行

docker compose up -d

如果一切顺利,那么到此结束