Commit Graph

27 Commits

Author SHA1 Message Date
Nicolas Mémeint
7dc3d46155 nixos/immich: Trim trailing newline from secretSettings file contents 2025-10-18 10:39:41 +02:00
Robert Schütz
f1e52abf0d nixos/immich: fix eval with settings == null
Using the module without declarative settings previously failed with

    error: attribute 'settingsFile' missing
2025-10-06 15:08:09 -07:00
Robert Schütz
c78079059a nixos/immich: add secretSettings option 2025-10-05 02:44:08 -07:00
Robert Schütz
3fbb8e08a1 nixos/immich: set $XDG_CACHE_HOME
The immich-machine-learning service can fail with

    RuntimeError: Data processing error: I/O error: Operation not permitted (os error 1)

because huggingface attempts to download files to $HOME/.cache (which
doesn't exist in this case) unless $XDG_CACHE_HOME or $HF_HOME is set.
2025-09-19 05:35:12 -07:00
Sefa Eyeoglu
a9c17c34b1 nixos/immich: add VectorChord migration docs
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-08-19 17:56:20 +02:00
Sefa Eyeoglu
0b93bf6c22 nixos/immich: add enableVectors option
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-08-19 17:55:28 +02:00
Sefa Eyeoglu
fd1994a8b7 nixos/immich: add enableVectorChord option
This enables VectorChord in the database (currently) alongside
pgvecto.rs. Note that VectorChord requires pgvector, which is enabled as
well by this option.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-08-19 17:55:14 +02:00
Sefa Eyeoglu
1a24457782 nixos/immich: only start after reaching postgres.target
Without this dependency, we may run into a race condition, especially in
our tests.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-08-14 22:30:00 +02:00
Wolfgang Walther
41c5662cbe nixos/postgresql: move postStart into separate unit
This avoids restarting the postgresql server, when only ensureDatabases
or ensureUsers have been changed. It will also allow to properly wait
for recovery to finish later.

To wait for "postgresql is ready" in other services, we now provide a
postgresql.target.

Resolves #400018

Co-authored-by: Marcel <me@m4rc3l.de>
2025-06-24 15:26:47 +02:00
Wolfgang Walther
dfbaabf75c nixos/immich: assert postgresql is below v17 (#418962) 2025-06-22 16:19:10 +00:00
Wolfgang Walther
cb30307559 nixos/immich: assert postgresql is below v17
We recently bumped the default PostgreSQL version to v17 in the NixOS
module. This breaks immich, which still needs PostgreSQL 16.
2025-06-22 17:50:08 +02:00
Wolfgang Walther
62d2b6d593 nixos/immich: fix postgresql.package regression
`config.services.postgresql.package` is now only available when the
PostgreSQL module is actually enabled. If we're not using the local
database, we'll need to fallback to the latest postgresql version, since
we don't know about the remote version.
2025-06-22 14:25:03 +02:00
Nico Felbinger
e0d1b49a46 chore: move meta option to top level in many modules 2025-04-19 18:27:48 +02:00
Torsten Trautwein
c397110901 nixos/immich: Add accelerationDevices configuration option
This allows immich to utilize devices for hardware accelerated video
transcoding.
2025-02-03 08:03:49 +01:00
Benjamin Saunders
fd21ef2a65 nixos/immich: restrict filesystem permissions
immich appears to create this directory with permissions 0755 by
default, which needlessly exposes user data to other processes.
2024-12-10 20:02:17 -08:00
Martin Weinelt
223a6c6ed0 nixos/postgresql: rename extraPlugins to extensions
This is the upstream lingo, and it makes everything slightly less
confusing.
2024-11-16 14:46:16 +01:00
Robert Schütz
ee1cffa25c immich: 1.119.1 -> 1.120.1
Changelog: https://github.com/immich-app/immich/releases/tag/v1.120.0
           https://github.com/immich-app/immich/releases/tag/v1.120.1
2024-11-09 14:44:21 -08:00
Robert Schütz
22ffb72803 nixos/immich: generate config file from services.immich.settings 2024-10-29 17:58:50 -07:00
Robert Schütz
376dd27232 nixos/immich: add systemd slice 2024-10-29 16:24:32 -07:00
Robert Schütz
74e0f237ea immich: 1.118.2 -> 1.119.0
Changelog: https://github.com/immich-app/immich/releases/tag/v1.119.0
2024-10-28 13:04:14 -07:00
Matthieu Coudron
5c8ff2e60c nixos/immich: use 'immich' as syslog identifier (#350551)
use 'immich' as syslog identifier

seeing 'immich' instead of the generic 'server' in journalctl is more understandable
2024-10-24 00:15:19 +02:00
Brendan Taylor
04e39de6eb nixos/immich: do not set services.redis.servers.immich.user
the redis module expects a user and group to exist with this name.
previously if there was no group with the same name as
`services.immich.user` the immich redis server would fail to start.

instead we can use the redis module's default behaviour: it will
create a user & group named "redis-immich".
2024-10-17 07:19:02 -06:00
Robert Schütz
e3152f80bf nixos/immich: change default port to 2283
This was always upstream's default but they also change the internal
port, i.e. behind the reverse proxy, to 2283 in
https://github.com/immich-app/immich/pull/13185.
2024-10-16 10:30:34 -07:00
Leona Maroni
a23db91282 nixos/immich: add option database.port (#345094) 2024-09-28 18:01:08 +02:00
Brendan Taylor
8debc8df79 nixos/immich: add option database.port 2024-09-26 08:06:59 -06:00
Robert Schütz
7cdda564e0 nixos/immich: override machine-learning with cfg.package
Otherwise they could use different versions:

    nix-repl> (immich.overrideAttrs { version = "0"; }).machine-learning.version
    "1.115.0"
2024-09-24 09:53:24 -07:00
Jan van Brügge
cedcd9f4f0 nixos/immich: init module 2024-09-23 22:38:02 +02:00