(施工中...)
部署
环境信息
Immich版本:Ver 1.134.0
Unraid系统版本:Ver 7.1.2
使用
(施工中...)
补充
Immich CLI 工具方式上传
安装 Immich CLI。(使用 Node.js 安装)
npm install -g @immich/cli
获取API 密钥。
a. 想将照片上传到某个用户的相册,则使用该用户账号登录Immich的Web界面。
b. 点击右上角用户头像图标,选择账户设置,在设置页面点击选择API 密匙,再点击新增API Key。

c. 在弹出的新增 API Key窗口中,填写一个方便记忆区分的Key名称,点击创建。

d. 在弹出的API 密匙窗口中,复制保存下来该显示的密匙。

登录Immich服务器。
回到刚才的终端命令行界面,按照下面的格式输入命令来登录Immich服务器。
immich login http://<immich-server>:<port>/api <your-api-key><immich-server>:你的Immich服务器地址(例如 192.168.1.100 或 immich.yourdomain.com)。
<port>:Immich服务器监听的端口号,默认为2283。
<your-api-key>:刚才获取的API Key。

批量上传照片。
在终端继续输入如下命令开始上传。
immich upload /path/to/your/photos --recursive/path/to/your/photos:替换为你上传照片所在的目录。
--recursive:让CLI递归扫描该目录下的子目录。
其它常用选项:
--album:根据文件夹名称自动创建相册。
--album-name <name> : 将所有照片添加到指定相册。
--skip-hash:跳过本地哈希检查,加快上传。
如果未使用--skip-hash,CLI 会计算本地文件哈希并与服务器比对,增加处理时间。
即使跳过本地哈希计算,服务器仍会去重。
--dry-run:模拟上传,检查将处理的文件。
--concurrency <n>:并发上传多个文件,增加并发可能缩短总时间,但需确保服务器资源充足。

可以看到CLI首先会Hash所有文件,再检查文件重复,最终开始上传。
遇到的问题
Immich CLI 大文件Nginx反代上传失败
问题:使用Immich CLI方式上传报错

原因:Nginx 默认限制了客户端上传的请求体大小(client_max_body_size),通常为 1MB 或其他低值。你的 MP4 文件可能较大(例如几十 MB 或更多),触发了此限制。
解决方法:
去Nginx的配置文件下,找到Immich的反代配置,添加如下一行到对应层级,并重启nginx服务,解决。
# 添加下面一行到对应 Nginx 配置文件
client_max_body_size 0; # 允许任意大小的文件上传
# 重启 Nginx 服务
sudo systemctl restart nginx
# 其它可能用到的命令
sudo nginx -t # 检查 Nginx 配置语法是否正确
sudo systemctl status nginx # 确认 Nginx 运行正常