最近在自家网盘整理了下图片,发现没有一个很好用的软件显示管理图片,于是找到了这个目前活跃维护的开源软件-immich, 是一个直接从 iPhone、Android 手机上备份照片与视频的开源解决方案,通过部署在自己的电脑、NAS、服务器中,使用 App 进行备份。 界面酷似 Google Photos,支持多用户、照片和相册分享、好友上传、地理位置、机器学习识别事件等功能。
部署
部署方法很简单,可以直接使用docker-compose一件部署,只是在拉容器的时候比较慢,我大概花了40分钟才拉完。 官网有介绍:https://immich.app/docs/install/docker-compose
Docker Compose 是在生产环境中运行 Immich 的推荐方法。以下是使用 Docker Compose 部署 Immich 的步骤。
第 1 步 - 下载所需的文件
创建一个您选择的目录(例如 )来保存 和 文件。./immich-app``docker-compose.yml``.env
移动到您创建的目录
mkdir ./immich-appcd ./immich-app
通过运行以下命令下载 docker-compose.yml
和 example.env
:
获取docker-compose.yml文件
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
获取 .env 文件
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
(可选)获取 hwaccel.yml 文件
wget https://github.com/immich-app/immich/releases/latest/download/hwaccel.yml
或者从浏览器下载并将文件移动到您创建的目录。
注意:如果您从浏览器下载了文件,还要确保重命名为 .example.env``.env
信息
或者,您可以使用 hwaccel.yml
文件启用硬件加速以进行转码。有关如何进行设置的信息,请参阅硬件转码指南。
步骤 2 - 使用自定义值填充 .env 文件
- 如有必要,请填充自定义数据库信息。
- 填充用于存储备份资产的首选位置。
UPLOAD_LOCATION
- 考虑更改为随机生成的内容
DB_PASSWORD
- 考虑更改为随机生成的内容
TYPESENSE_API_KEY
第 3 步 - 启动容器
从您在步骤 1 中创建的目录(现在应包含您的自定义文件和文件)运行 。docker-compose.yml``.env``docker-compose up -d
使用 docker compose 命令启动容器
docker compose up -d
提示
有关如何使用该应用程序的更多信息,请参阅安装后指南。
提示
请注意,下载容器映像可能需要向 GitHub 容器注册表 (步骤) 进行身份验证。
第 4 步 - 升级
如果设置,则需要将其更新到最新版本或所需的版本。IMMICH_VERSION
当 Immich 的新版本发布时,可以使用以下命令升级应用程序,在包含该文件的目录中运行:docker-compose.yml
升级 Immich
docker compose pull && docker compose up -d
自动更新
Immich 目前正在大量开发中,这意味着您可以期待重大更改和错误。因此,我们建议在更新之前阅读发行说明,并在使用《守望台》等自动化工具时特别小心。
主要是下载完成修改下密码及存储路径即可 修改.env中的UPLOAD_LOCATION。
具体部署可以参照官网文档。我这里部署完遇到个问题,就是如何把现有的照片目录导入这个软件呢?
最后还是在官网找到了解决方案:https://immich.app/docs/features/command-line-interface 能够通过immich CLI中的 immich upload命令导入。
首先向 Immich 服务器进行身份验证。
immich login-key [instanceUrl] [apiKey]
例如
immich login-key http://192.168.1.216:2283/api HFEJ38DNSDUEG
这会将您的凭据存储在主目录的文件中。请确保文件安全,方法是在完成后执行注销命令,或手动删除它。
通过身份验证后,您可以将资产上传到 Immich 服务器。
immich upload file1.jpg file2.jpg
默认情况下,不包括子文件夹。要上传包含子文件夹的目录,请使用 --recursive 选项:
immich upload --recursive directory/
如果您不确定会发生什么,可以使用该选项查看会发生什么,而无需实际执行任何操作。--dry-run
immich upload --dry-run --recursive directory/
默认情况下,upload 命令将在上传文件之前对文件进行哈希处理。这是为了避免多次上传同一个文件。如果确定文件是唯一的,则可以通过传递该选项来跳过此步骤。请注意,Immich 始终通过哈希执行自己的重复数据删除,因此这只是一个性能考虑因素。如果您有良好的带宽,跳过哈希可能会更快。--skip-hash
immich upload --skip-hash --recursive directory/
您可以通过传递选项根据文件夹名称自动创建相册。这将根据每个上传的资产所在的文件夹名称自动创建相册。--album
immich upload --album --recursive directory/
通过传递选项,可以跳过与 glob 模式匹配的资产。请参阅有关如何使用 glob 模式的库文档。如果需要,可以添加多个排除模式。--ignore
immich upload --ignore **/Raw/** --recursive directory/
immich upload --ignore **/Raw/** **/*.tif --recursive directory/
API 密钥可以在 Web 界面上的用户设置面板中获取。