Package Details: immich-server 1.129.0-1

Git Clone URL: https://aur.archlinux.org/immich.git (read-only, click to copy)
Package Base: immich
Description: Self-hosted photos and videos backup tool
Upstream URL: https://github.com/immich-app/immich
Licenses: MIT
Conflicts: immich
Replaces: immich
Submitter: wabi
Maintainer: wabi (pikl)
Last Packager: pikl
Votes: 14
Popularity: 1.00
First Submitted: 2022-12-30 11:41 (UTC)
Last Updated: 2025-03-07 21:59 (UTC)

Pinned Comments

pikl commented on 2025-01-25 21:54 (UTC) (edited on 2025-01-26 08:23 (UTC) by pikl)

Upgrading to postgresql-17 is awkward because of pgvecto.rs if you have been using 0.2.0 as provided by AUR package pgvecto.rs-immich. If you have been using 0.3.0 as provided by AUR package pgvecto.rs-immich-bin then these extra steps are likely not required and I suggest the wiki instructions for upgrades for major version increments of postgresql are followed.

If you would like to stick at postgresql-16 please add the following to pacman.conf:

IgnorePkgs = postgresql postgresql-libs

Following the manual dump and reload in the wiki does appear to work, with a few extra steps to consider the pgvecto.rs upgrade.

Starting point is postgresql-old-upgrade installed with pgvector.rs-0.2.0. Symlink the installation outputs of pgvecto.rs into the directories used by the parallel installation of postgresql-old-upgrade.

ln -s /usr/share/postgresql/extension/vectors.control /opt/pgsql-16/share/extension/vectors.control
ln -s /usr/share/postgresql/extension/vectors--0.2.0.sql /opt/pgsql-16/share/extension/vectors--0.2.0.sql
ln -s /usr/lib/postgresql/vectors.so /opt/pgsql-16/lib/vectors.so

Then perform the database start (/opt/psql-16/bin/pg_ctl .. start), "dump" (pg_dumpall...) and database stop (/opt/psql-16/bin/pg_ctl .. start) steps in the wiki.

Upgrade to postgresql-17 and pgvecto.rs-0.3.0 (provided by pgvector.rs-immich-bin). Clear out /var/lib/postgresql/data then initialise the database (initdb...) as per the wiki.

Start the service using systemctl start postgresql and install the pgvecto.rs using the following command:

psql -c 'ALTER SYSTEM SET shared_preload_libraries = "vectors.so"'

Finally restart the postgresql service and perform the reload (psql...) steps in the wiki.

EDITED: Various clarifications

pikl commented on 2024-08-05 09:52 (UTC)

From v1.111.0, this package does not build with nodejs < v20.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 Next › Last »

ksj commented on 2024-04-14 09:55 (UTC)

And is there needed pgvecto.rs or pgvecto.rs-immich package as dependency? If pgvecto.rs-immich, why it is not as dependency? I'm using build from docker too and this is confusing, what to install. It always choose pgvecto.rs as it is in dependency.

pikl commented on 2024-04-14 09:44 (UTC)

@ksj orc is included as dependency due to liborc dep in the upstream Dockerfile. I've removed it completely in 1.101.0-2 and it builds and runs OK.

ksj commented on 2024-04-13 12:37 (UTC) (edited on 2024-04-13 19:27 (UTC) by ksj)

I was checking security of my server and I have found that immich-server is dependent on orc package (compiler). Is it necessary to have it as dependency or can it be moved under make dependency?

Also, is there needed pgvecto.rs or pgvecto.rs-immich package as dependency?

simona commented on 2024-04-04 13:25 (UTC)

yes... fixed. thx

Senventise commented on 2024-04-04 12:54 (UTC)

@simona Same here, installing clang16 and adding /usr/lib/llvm16/bin/ to PATH fixed it for me.

simona commented on 2024-03-29 13:53 (UTC)

error occurred: Failed to find tool. Is clang-16 installed?

pikl commented on 2024-03-13 19:03 (UTC) (edited on 2024-03-13 21:59 (UTC) by pikl)

@ksj sorry the nginx optional dependency was silly mistake - will fix with a bump to v1.98.2-4.

I also recommend overriding the systemd service in /etc/systemd/system as the best option to modifying the BindsTo= dependency. Unfortunately drop-in service files cannot modify dependencies so going for the full override is the only option. I think best to rely on the flexibility of overriding systemd service files for your use-case and keep the provided service file as-is for the convenience of bringing-up/taking-down all services together.

ksj commented on 2024-03-13 10:15 (UTC)

@hrdl because there can be something more useful in service in future, I don't like disable updates on that with pacman. Also, I have found out, systemctl edit --full is writing the corrected file to /etc/systemd/system, not to /usr/lib/systemd/system, so it will not be rewritten and it takes the file from /etc. Override immich-machine-learning seems to be working. Thanks for that. I will go with this way.

So only remaining thing is the nginx dependency, which is still in required instead of optional.

ksj commented on 2024-03-13 09:52 (UTC)

@Mars160 I wanted to avoid these solutions. In that case I would need patch file for systemd service, pacman hook script for postinstall and it still can make trouble in some cases. That's why I choose ask for a edit of the package itself. In case systemctl edit would somehow disable the other services, maybe by editing them, I'm ok with that. It seems to be nice solution, which persist and don't make any troubles, but I still don't know how to write correct drop file.

hrdl commented on 2024-03-13 09:52 (UTC)

@ksj If you overwrite immich-server.service, then consider https://wiki.archlinux.org/title/Pacman#Skip_file_from_being_upgraded . Otherwise there's systemctl edit immich-machine-learning, with a drop-in snippet like this:

[Service]
ExecStart=
ExecStart=/usr/bin/tail -f /dev/null