nixos/immich: add VectorChord migration docs

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu 2025-08-10 12:19:13 +02:00
commit a9c17c34b1
No known key found for this signature in database
GPG key ID: E13DFD4B47127951
4 changed files with 43 additions and 2 deletions

View file

@ -605,6 +605,12 @@
"module-services-suwayomi-server-extra-config": [
"index.html#module-services-suwayomi-server-extra-config"
],
"module-services-immich": [
"index.html#module-services-immich"
],
"module-services-immich-vectorchord-migration": [
"index.html#module-services-immich-vectorchord-migration"
],
"module-services-paisa": [
"index.html#module-services-paisa"
],

View file

@ -198,7 +198,7 @@
- `services.ntpd-rs` now performs configuration validation.
- Immich now has support for [VectorChord](https://github.com/tensorchord/VectorChord) when using the PostgreSQL configuration provided by `services.immich.database.enable`, which replaces `pgvecto-rs`. VectorChord support can be toggled with the option `services.immich.database.enableVectorChord`. Additionally, `pgvecto-rs` support is now disabled from NixOS 25.11 onwards using the option `services.immich.database.enableVectors`. This option will be removed fully in the future once Immich drops support for `pgvecto-rs` fully.
- Immich now has support for [VectorChord](https://github.com/tensorchord/VectorChord) when using the PostgreSQL configuration provided by `services.immich.database.enable`, which replaces `pgvecto-rs`. VectorChord support can be toggled with the option `services.immich.database.enableVectorChord`. Additionally, `pgvecto-rs` support is now disabled from NixOS 25.11 onwards using the option `services.immich.database.enableVectors`. This option will be removed fully in the future once Immich drops support for `pgvecto-rs` fully. See [Immich migration instructions](#module-services-immich-vectorchord-migration)
- `services.postsrsd` now automatically integrates with the local Postfix instance, when enabled. This behavior can disabled using the [services.postsrsd.configurePostfix](#opt-services.postsrsd.configurePostfix) option.

View file

@ -0,0 +1,32 @@
# Immich {#module-services-immich}
[Immich](https://immich.app/) is a self-hosted photo and video management
solution, similar to SaaS offerings like Google Photos.
## Migrating from `pgvecto-rs` to VectorChord (pre-25.11 installations) {#module-services-immich-vectorchord-migration}
Immich instances that were setup before 25.11 (as in
`system.stateVersion = 25.11;`) will be automatically migrated to VectorChord.
Note that this migration is not reversible, so database dumps should be created
if desired.
See [Immich documentation][vectorchord-migration-docs] for more details about
the automatic migration.
After a successful migration, `pgvecto-rs` should be removed from the database
installation, unless other applications depend on it.
1. Make sure VectorChord is enabled ([](#opt-services.immich.database.enableVectorChord)) and Immich has completed the migration. Refer to the [Immich documentation][vectorchord-migration-docs] for details.
2. Run the following two statements in the PostgreSQL database using a superuser role in Immich's database.
```sql
DROP EXTENSION vectors;
DROP SCHEMA vectors;
```
- You may use the following command to run these statements against the database: `sudo -u postgres psql immich` (Replace `immich` with the value of [](#opt-services.immich.database.name))
3. Disable `pgvecto-rs` by setting [](#opt-services.immich.database.enableVectors) to `false`.
4. Rebuild and switch.
[vectorchord-migration-docs]: https://immich.app/docs/administration/postgres-standalone/#migrating-to-vectorchord

View file

@ -436,5 +436,8 @@ in
};
users.groups = mkIf (cfg.group == "immich") { immich = { }; };
};
meta.maintainers = with lib.maintainers; [ jvanbruegge ];
meta = {
maintainers = with lib.maintainers; [ jvanbruegge ];
doc = ./immich.md;
};
}