主要观点:介绍将 Immich 部署从 Docker 迁移到原生 NixOS 模块的方法及原因,强调迁移过程中的准备工作、配置迁移、数据库迁移等步骤。
关键信息:
- 迁移前提:原 Immich Docker 部署已由 NixOS 管理,使用主机的 PostgreSQL 数据库,此迁移更易。
- 迁移原因:Docker 部署慢,需手动更新,而 NixOS 模块由 nixpkgs 维护,维护和配置工作少。
- 准备工作:备份数据库和媒体库,迁移数据前关闭 Immich 容器。
- 配置迁移:扔掉容器配置,用
services.immich
模块替代,可扔掉数据库和 redis 配置。 - 数据库迁移:利用 PostgreSQL 的
regexp_replace
函数在数据库中直接进行文件路径的查找替换,将upload/
替换为新的媒体位置路径。
重要细节: - 不同版本情况:所有步骤基于 Immich 1.123.0,未来版本可能不同。
- 配置示例:给出
services.immich
模块的配置示例及相关注释。 - 数据库路径相关:Immich 数据库中文件路径以
upload/...
开头,迁移时需替换为新的媒体位置路径。 - 迁移过程中的命令:如停止和启动 Immich 服务的命令、在 PostgreSQL 中进行查找替换的命令等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。