Package Details: immich-server 2.5.6-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
Keywords: backup photos
Licenses: AGPL-3.0-only
Conflicts: immich
Replaces: immich
Submitter: wabi
Maintainer: aliu
Last Packager: aliu
Votes: 20
Popularity: 0.169969
First Submitted: 2022-12-30 11:41 (UTC)
Last Updated: 2026-02-11 01:53 (UTC)

Pinned Comments

aliu commented on 2026-01-17 21:44 (UTC) (edited on 2026-01-17 21:46 (UTC) by aliu)

is it possible to ship pre-built package?

Upstream recommends using docker, for which they have pre-built images (that might also work with podman).

aliu commented on 2025-10-25 02:49 (UTC)

PostgreSQL 18 is coming to the Arch repos. Before upgrading, backup the files for vectorchord and pgvector somewhere, and then follow https://wiki.archlinux.org/title/PostgreSQL#Upgrading_PostgreSQL instructions. (In the next release, I'll also update the postinstall message to recommend changing postgresql.conf instead of doing ALTER SYSTEM SET.)

Also, you may find yourself updating VectorChord in this process. When doing so, remember to follow the migration steps at https://docs.immich.app/administration/postgres-standalone/#updating-vectorchord .

aliu commented on 2025-08-21 15:21 (UTC)

immich-web (localhost/immich-server:2283) used to be broken for some users of this package.

As @yparitcher also noticed, this was most likely caused by the following additions to .gitignore from f4e0aad2c495, which have since be reverted:

src/
pkg/
*.pkg.tar.zst
LICENSES/

The reason—for both this change sometimes and unpredictably breaking the build, and builds under a clean chroot still working—is unknown. I meant to investigate this on 2025-08-19 while updating the package but called it a day due to the unpredictability and long time of building. Help with figuring out why this happened would be greatly appreciated.

aliu commented on 2025-06-30 02:49 (UTC) (edited on 2025-07-01 16:35 (UTC) by aliu)

You may notice pacman refuse to upgrade this package, saying warning: cannot resolve "vectorchord", a dependency of "immich-server".

This is due to required manual intervention within the immich server database.

Newer versions of immich server have deprecated pgvecto.rs in favor of vectorchord.

Before updating from 1.133.1 or older, please follow steps 1 and 2 of the manual migration steps (should be the second dropdown) at https://immich.app/docs/administration/postgres-standalone/#migrating-to-vectorchord and uninstall pgvecto.rs.

Remember to remove references to "vectors.so" (which is shipped by pgvecto.rs) in shared_preload_libraries before pgvecto.rs in uninstalled. (For vectorchord to work, you'll need to add "vchord.so" to shared_preload_libraries after the upgrade as well.)

After that, you may upgrade this package. Please remember to follow steps 4 and 5 of the manual migration steps after the upgrade is finished to prevent data loss.

Latest Comments

1 2 3 4 5 6 .. 31 Next › Last »

aliu commented on 2026-02-23 01:33 (UTC)

I don't think jellyfin-ffmpeg -> chromaprint -> ffmpeg is any sort of problem. jellyfin-ffmpeg is well-isolated from ffmpeg. (FWIW It's that way because jellyfin-ffmpeg compiles libavformat with chromaprint features, and chromaprint depends on libavcodec.)

As the PKGBUILD references (by date of the comment), reasons for using jellyfin-ffmpeg are explained at https://aur.archlinux.org/pkgbase/immich?O=230#comment-996238 .

I'm unsure immich-machine-learning -> immich-server is required

hmm, for that reason it should be listed as only an optional dependency, which is what i see on my end

dmig commented on 2026-02-22 12:06 (UTC)

Discovered a dependency mess:

immich-server -> jellyfin-ffmpeg -> chromaprint -> ffmpeg
immich-machine-learning -> immich-server -> ...
immich-machine-learning -> python-opencv -> opencv -> ffmpeg

Maybe it's worth removing jellyfin-ffmpeg since ffmpeg is installed anyway? There is ffmpeg-headless, which I use for this dependency. Also, I'm unsure immich-machine-learning -> immich-server is required. In theory, immich-machine-learning can be installed on a different machine.

aliu commented on 2026-02-07 14:34 (UTC)

@L0ric0 done!

@dmig It didn't work before I updated the service file on 5 Feb UTC. I updated it to add the relevant device groups (drm rw gives you rw access to /dev/dri/*) and the Mesa cache under the immich directory the logs initially said couldn't be accessed. Could you try it again?

L0ric0 commented on 2026-02-07 08:58 (UTC)

Hey, thank you for packaging. Could you add aarch64 to the list of architectures. I'm using immich currently on a rpi4 which works quite ok.

dmig commented on 2026-02-05 07:43 (UTC)

@aliu it probably works without hardware acceleration, check immich-server logs. with PrivateDevices=true ffmpeg can't see /dev/dri/renderD128

aliu commented on 2026-02-05 02:18 (UTC)

@dmig I did a little investigation and the current service file works with my VAAPI device.

aliu commented on 2026-02-04 23:55 (UTC)

@Terrrance They are supposed to be skipped; I just keep finding new ways to forget skipping them. (As you may know, updpkgsums currently doesn't preserve skips unless it's an unpinned VCS source. I plan to potentially contribute a patch to updpkgsums for this when I find the time...) Should be fixed now.

@dmig Good points; I'll check this out in an hour.

Terrance commented on 2026-02-04 17:58 (UTC)

As the GeoNames data file hashes are often invalidated by unversioned changes upstream, is it worth just setting their hashes as SKIP and/or commiting a fixed copy of the data and refreshing them every so often? (Their sizes are maybe just over the point where it'd be considered bloat to keep them committed here though.)

dmig commented on 2026-02-04 11:33 (UTC)

@aliu this would be the final change:

PrivateDevices=false
SupplementaryGroups=render

/dev/dri/renderD128 has permissions set to 0666, but generally group render gives access to it. PrivateDevices=false may seem too much, but there is so much fuss in configuring HW access for different platforms (originally in Immich), I believe it is a better approach.

dmig commented on 2026-02-04 06:53 (UTC)

@aliu as I understand StartLimit* options, immich doesn't fail fast enough to hit 5 in StartLimitInterval. This is easy to verify: on a fresh install it starts crashing, complaining that it can't create postgres extension vchord (because I don't want to give it super admin privilege). And with default StartLimit* settings this crash-loop is infinite.

Here are more details on what needs to be passed to the service: - https://github.com/immich-app/immich/releases/download/v2.5.3/hwaccel.transcoding.yml - https://github.com/immich-app/immich/releases/download/v2.5.3/hwaccel.ml.yml

I tried BindPaths=/dev/dri:/dev/dri, but that didn't help -- ffmpeg couldn't open the device. Also, on some systems immich user has to be added to the render group.