linuxer
linuxer
发布于 2025-12-19 / 37 阅读
0
0

在 oes armbian上跑个google的 immich AI相册

1# 在玩客云OES  Amlogic A311D(ARM64)设备上部署 Immich 私有相册(含 AI 功能)
2官方写的很详细 https://docs.immich.app/install/docker-compose/ e文的有兴趣看官方的
3> **设备**:基于 Armbian 的 A311D 开发板(如 Khadas VIM3、Radxa ROCK 3 等)  其他arm64设备也可以参照
4> **内存**:3.6GB RAM + 2GB Swap  
5> **存储**:照片/视频存入 `/mnt/Storage2`,数据库存本地  
6> **特点**:启用人脸识别、物体检测等 AI 功能,使用官方最新镜像,配置简洁可维护
7
8本文记录了我在 **A311D ARM64 设备** 上成功部署 [Immich](https://immich.app) 的全过程,所有配置文件集中管理,适合长期运行。
9
10---
11
12## 📁 一、目录规划
13
14```bash
15/mnt/mmcblk2p3/app/imm/          # 所有配置文件放这里
16├── compose.yaml                 # 官方 docker-compose 文件
17├── .env                         # 环境变量(关键!)
18├── postgres-data/               # PostgreSQL 数据(本地 SSD/eMMC)
19└── model-cache/                 # AI 模型缓存(实际绑定到 /mnt/Storage2)
20
21/mnt/Storage2/immich/
22├── upload/                      # 用户上传的照片和视频(主存储)
23└── ml-cache/                    # AI 模型缓存(由 volume 自动创建)

✅ 优势:系统盘(eMMC)只存数据库和配置,媒体文件全部放在大容量外接存储。


🔧 二、准备工作

1. 创建存储目录并授权

# 创建媒体存储目录(Immich 默认以 UID=1000 运行)
sudo mkdir -p /mnt/Storage2/immich/upload
sudo chown -R 1000:1000 /mnt/Storage2/immich

# 创建本地数据目录
cd /mnt/mmcblk2p3/app/imm
mkdir -p postgres-data
sudo chown -R 999:999 postgres-data   # PostgreSQL UID=999

2. 启用 Swap(建议 ≥2GB)

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

验证:

free -h  # 应看到 Swap ≥2G

📄 三、配置文件

1. .env 文件(核心配置)

cat > .env << 'EOF'
# 媒体存储路径(必须指向大容量盘)
UPLOAD_LOCATION=/mnt/Storage2/immich/upload

# 数据库存储路径(建议放系统盘或高速 SSD)
DB_DATA_LOCATION=/mnt/mmcblk2p3/app/imm/postgres-data

# 数据库凭证(请修改为强密码!)
DB_USERNAME=immich
DB_PASSWORD=your_strong_password_2025
DB_DATABASE_NAME=immich

# 时区
TZ=Asia/Shanghai
EOF

🔐 务必修改 DB_PASSWORD

2. compose.yaml(使用官方最新版)

从官方下载最新 compose.yaml

1wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml -O compose.yaml

✅ 该文件已包含:

  • Valkey(Redis 替代)

  • 官方 PostgreSQL 镜像(内置 pgvectorpgvecto.rs

  • AI 服务(immich-machine-learning

无需修改内容,完全依赖 .env 配置


▶️ 四、启动服务

cd /mnt/mmcblk2p3/app/imm
docker compose up -d

⏳ 首次启动需 3~5 分钟(AI 服务会自动下载模型,约 500MB)


🔍 五、验证部署

1. 查看容器状态

docker compose ps

应看到 4 个容器均为 running 状态。

2. 检查关键日志

# 数据库就绪
docker compose logs immich_postgres | grep "ready"
# AI 服务就绪
docker compose logs immich_machine_learning | tail -n 10

3. 访问 Web 界面

打开浏览器访问:


http://<你的设备IP>:2283

首次登录会创建管理员账号。

进入 Settings → AI,应显示:

  • ✅ Face Detection: Connected

  • ✅ Object Tagging: Connected


🛠 六、日常维护命令

操作

命令

查看日志

docker compose logs immich_server

重启服务

docker compose restart

停止服务

docker compose down

升级版本

修改 .envIMMICH_VERSION=v1.x.x,然后 docker compose pull && docker compose up -d

💡 升级前建议备份 /mnt/Storage2/immich/uploadpostgres-data


⚠️ 七、注意事项

  1. 不要删除 model-cache 目录:AI 模型缓存,删除后需重新下载。

  2. 避免频繁写入 eMMC:媒体文件务必放在外接硬盘(如 /mnt/Storage2)。

  3. 内存监控:A311D 无 GPU,AI 推理较慢但可用。若系统卡顿,可在 Settings → Library 中关闭“视频转码”。

  4. 镜像拉取失败?

    • 如果遇到 denied 错误,请使用具体版本号(如 v1.132.3)代替 release,或配置 GitHub Token。


✅ 总结

通过以上步骤,你可以在 低功耗 ARM64 设备 上搭建一台功能完整的私有相册服务器,支持:

  • 🖼️ 照片/视频自动备份

  • 🤖 人脸识别、物体标签(AI)

  • 📱 多端同步(Web/iOS/Android)

  • 🔒 完全私有,数据自主掌控

本方案已在 OES 玩客云(A311D + 4GB RAM) 上稳定运行


PS:其实文章是 我把 文件丢AI ,然后给它路径参数 叫它写的,然后整理一些记录 有兴趣参考或者直接让AI帮你完成!

如有问题,欢迎留言交流


评论