Package Details: immich-server 1.131.3-2

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: 0.54
First Submitted: 2022-12-30 11:41 (UTC)
Last Updated: 2025-04-03 19:10 (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 .. 12 Next › Last »

zynex commented on 2025-01-12 19:57 (UTC)

Noticed that PostgreSQL was updated to v17 today, and broke everything. Tried upgrading the database, but there is some error finding vector.so while trying to upgrade the database, so had to downgrade the system update and fix it to 2025-01-11 to prevent upgrading PostgreSQL. Seems that pgvector >=0.4.0 isn't supported by Immich yet either (got and error when trying).

Weby commented on 2025-01-11 11:20 (UTC)

Thanks @pikl

pikl commented on 2025-01-08 21:16 (UTC)

v1.124.1-1 includes a dependency for python312 and should fix build problems since Arch went to Python 3.13

tbh commented on 2025-01-05 15:44 (UTC)

There's a python-onnx package I'm using

Weby commented on 2025-01-05 11:57 (UTC)

I'll try that as well then, thank you. Still python-onnx that is not compiling with python 3.13, is that needed? Is it installed on your system?

tbh commented on 2025-01-05 11:43 (UTC)

That's an option as well. Any clue how to do that properly without breaking everything?

I've installed at least python-insightface, python-opencv, python-tokenizers, onnxruntime, python-aiocache, python-python-multipart although I have a lot of python stuff installed already and haven't tried in a clean environment - check machine-learning/pyproject.toml - I think everything is packaged other than opencv-python-headless which I think python-opencv can be used instead.

I've modified the machine-learning.service file to run /usr/bin/gunicorn rather than /opt/immich-machine-learning/venv/bin/gunicorn and the PKGBUILD to not run poetry install. I then changed SUPPORTED_PROVIDERS to ["CPUExecutionProvider"] in /opt/immich-machine-learning/app/models/constants.py as the arch packaged one has cuda support and I only have CPU.

Weby commented on 2025-01-05 10:43 (UTC)

So to have 1.123 built correctly temporarily, you will need to : - install python312 from AUR (in parallel to whichever version of python you use)

Note that SELECT pgvectors_upgrade(); returned an error to me (function not found) but the upgrade seemed to work anyway. If you don't do the upgrade, immich-server will fail with the pgvectors not up to date message in your syslog.

After this, change line 108 of the PKGBUILD to

    python3.12 -m venv "${srcdir}/venv"

instead of

    python -m venv "${srcdir}/venv"

It should then compile and be installable. Install the immich-server package that's created.

Weby commented on 2025-01-05 09:32 (UTC) (edited on 2025-01-05 09:54 (UTC) by Weby)

That's an option as well. Any clue how to do that properly without breaking everything?

The python-onnx upstream maintainers don't seem to be in a rush to get their 1.18 version out (which supports python 3.13) despite the fact that 3.13 is out since october, replacing the onnx with onnx-weekly through poetry is a massive pain, and we basically can't upgrade python if we have immich installed because the machine-learning hardlinks to libpython3.12.so.1.0.

I'm trying to get python312 from AUR installed as well, not sure it will help much.

EDIT: installing python312 from AUR in parallel does allow immich-machine-learning to run for version 1.121. Trying to upgrade to v1.123 to see what's what. EDIT2: yeah forgot that you can't build v1.123 because of the python-onnx dep. Trying to update the pkgbuild to temporarily link to python312.

tbh commented on 2025-01-04 07:54 (UTC)

there are existing packages for the machine learning dependencies like python-insightface, python-opencv, python-tokenizers, onnxruntime - these seems to work ok for me so perhaps can be considered instead of the poetry install

Weby commented on 2025-01-02 14:54 (UTC)

I've tried a compilation of immich after uprading all packages of immich-machine-learning to their latest revision.

With scipy 1.14.1, it compiles but there's still python-onnx that currently fails (v1.18 is unreleased but will support python 3.13).

This is a waiting game for now. However, and I know this is not the right place to say this... Don't upgrade your python. Immich-machine-learning will fail if you install python-3.13.