相册
好嘞,我给你准备三套东西:
- ✅ 完整文档版(适合你 Obsidian / Nextra / Astro 知识库)
- ✅ Markdown 版(你直接复制就能存档)
- ✅ 自动化脚本(美国服务器导出 + 群晖导入 + compose 启动)
另外,针对你的情况,我会处理好TAG 为 none 的镜像问题,这种情况要给镜像打 tag,否则 docker save 不好管理。
✅ 一、最终推荐 TAG 规范(先在美国服务器执行)#
你当前有两个 <none>:
ghcr.io/immich-app/postgres <none>
valkey/valkey <none>我建议给它们加上合适 tag:
docker tag 178719aeb38d ghcr.io/immich-app/postgres:14-vector
docker tag 84be4d718bb5 valkey/valkey:8打完后,docker images 会变成:
ghcr.io/immich-app/postgres 14-vector 178719aeb38d
valkey/valkey 8 84be4d718bb5这样后续导出更规范。
✅ 二、完整文档版(部署教程)#
以下为你知识库准备的正式文档,可直接保存到 Obsidian、Astro、Nextra 中。
✅ Immich 镜像离线部署教程(美国服务器 pull,国内群晖部署)#
本教程适用于网络受限(例如国内群晖/笔记本无法访问 Docker Hub、GitHub Container Registry)时,通过海外服务器拉取镜像,随后离线导入国内设备进行部署。
一、在海外服务器拉取镜像#
在美国服务器中进入 Immich 目录:
cd /root/immich-Nov
docker compose pull确认镜像已经拉取:
docker images | grep immich二、为无 TAG 镜像补全标签(重要)#
若出现 <none> 标签镜像,需要补 tag:
docker tag 178719aeb38d ghcr.io/immich-app/postgres:14-vector
docker tag 84be4d718bb5 valkey/valkey:8三、将所有 Immich 镜像打包导出#
docker save \
ghcr.io/immich-app/immich-server:v2 \
ghcr.io/immich-app/immich-machine-learning:v2 \
ghcr.io/immich-app/postgres:14-vector \
valkey/valkey:8 \
-o immich-images.tar生成的文件约 4~5GB。
四、将镜像包传输到群晖 NAS#
如果群晖启用了 SSH:
scp immich-images.tar admin@群晖IP:/volume1/docker/目录依据实际情况可调整。
五、在群晖导入镜像#
登录群晖:
ssh admin@群晖IP
docker load -i /volume1/docker/immich-images.tar成功后会显示:
Loaded image: ghcr.io/immich-app/immich-server:v2
Loaded image: ghcr.io/immich-app/immich-machine-learning:v2
Loaded image: ghcr.io/immich-app/postgres:14-vector
Loaded image: valkey/valkey:8六、在群晖部署 Immich#
把 .env 和 docker-compose.yml 也从美国服务器复制过来:
scp .env docker-compose.yml admin@群晖IP:/volume1/docker/immich/然后在群晖:
cd /volume1/docker/immich
docker compose up -d无需 pull,镜像已经本地导入。
✅ 部署完成#
群晖访问:
http://群晖IP:2283Immich 即可正常使用。
✅ 三、Markdown 版(你可直接复制到知识库)#
# Immich 离线部署全流程(海外服务器 pull,国内群晖部署)
## 1. 在海外服务器补全无标签镜像
```bash
docker tag 178719aeb38d ghcr.io/immich-app/postgres:14-vector
docker tag 84be4d718bb5 valkey/valkey:82. 导出全部 Immich 镜像#
docker save \
ghcr.io/immich-app/immich-server:v2 \
ghcr.io/immich-app/immich-machine-learning:v2 \
ghcr.io/immich-app/postgres:14-vector \
valkey/valkey:8 \
-o immich-images.tar3. 将镜像传到群晖#
scp immich-images.tar admin@群晖IP:/volume1/docker/4. 群晖导入镜像#
docker load -i /volume1/docker/immich-images.tar5. 拷贝 compose 文件#
scp .env docker-compose.yml admin@群晖IP:/volume1/docker/immich/6. 群晖部署 Immich#
cd /volume1/docker/immich
docker compose up -d
---
# ✅ 四、自动化脚本(含导出+导入+部署)
## ✅ 脚本1:美国服务器导出镜像 `export-immich.sh`
```bash
#!/bin/bash
set -e
echo "Fixing tags for untagged images..."
docker tag 178719aeb38d ghcr.io/immich-app/postgres:14-vector || true
docker tag 84be4d718bb5 valkey/valkey:8 || true
echo "Exporting Immich docker images..."
docker save \
ghcr.io/immich-app/immich-server:v2 \
ghcr.io/immich-app/immich-machine-learning:v2 \
ghcr.io/immich-app/postgres:14-vector \
valkey/valkey:8 \
-o immich-images.tar
echo "Done! File: immich-images.tar"✅ 脚本2:群晖自动导入并部署 import-immich.sh#
#!/bin/bash
set -e
echo "Importing docker images..."
docker load -i immich-images.tar
echo "Starting Immich..."
docker compose up -d
echo "Immich deployed successfully!"✅ 要不要我帮你:#
✅ 帮你把以上内容拼成一篇适合你知识库风格的 Astro/Nextra 文档布局?
✅ 或者帮你做一个标准的 /docs/immich-offline-deploy.md?
你说一声我就给你生成。