@aliu I don't think it's a big deal to build the whole thing. It doesn't take long anyway.
Search Criteria
Package Details: immich-machine-learning 1.142.1-1
Package Actions
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 |
Submitter: | wabi |
Maintainer: | aliu |
Last Packager: | aliu |
Votes: | 19 |
Popularity: | 2.12 |
First Submitted: | 2022-12-30 11:41 (UTC) |
Last Updated: | 2025-09-21 02:58 (UTC) |
Dependencies (43)
- brotli (brotli-gitAUR)
- dav1d (dav1d-gitAUR)
- expat (expat-gitAUR)
- glib2 (glib2-gitAUR, glib2-selinuxAUR, glib2-patched-thumbnailerAUR)
- highway (highway-gitAUR)
- imagemagick (imagemagick-gitAUR, imagemagick-full-gitAUR, imagemagick-fullAUR)
- jellyfin-ffmpeg
- lcms2 (lcms2-ff-gitAUR, lcms2-gitAUR, lcms2-ffAUR)
- libde265 (libde265-gitAUR)
- libexif (libexif-gitAUR)
- libgsf (libgsf-gitAUR)
- libheif (libheif-gitAUR, libheif-highmemAUR)
- libjpeg-turbo (mozjpeg-gitAUR, mozjpegAUR, libjpeg-turbo-gitAUR)
- liblqr
- libpng (libpng-gitAUR, libpng-apngAUR)
- libraw (libraw-gitAUR)
- librsvg (librsvg-gitAUR)
- libtool (libtool-gitAUR)
- libvips (libvips-gitAUR, libvips-notiffAUR)
- libwebp (libwebp-gitAUR)
- Show 23 more dependencies...
Required by (1)
- immich-server (optional)
Sources (13)
- backup.service.ts.patch
- base-images
- https://download.geonames.org/export/dump/admin1CodesASCII.txt
- https://download.geonames.org/export/dump/admin2Codes.txt
- https://download.geonames.org/export/dump/cities500.zip
- https://raw.githubusercontent.com/nvkelso/natural-earth-vector/v5.1.2/geojson/ne_10m_admin_0_countries.geojson
- immich-1.142.1.tar.gz
- immich-machine-learning.service
- immich-server.service
- immich.conf
- immich.sysusers
- immich.tmpfiles
- nginx.immich.conf
dcelasun commented on 2025-09-18 14:55 (UTC)
aliu commented on 2025-09-18 02:10 (UTC)
I know. That can only split the package function and the build steps must be shared; just installing the ML package will require building the server as well, which I don't think is very ideal.
dcelasun commented on 2025-09-17 06:05 (UTC)
Note that this would be a separate pkgbase since you cannot split the build function.
I meant this:
pkgbase=immich
pkgname=('immich-server' 'immich-machine-learning' 'immich-cli')
aliu commented on 2025-09-16 22:51 (UTC)
Sounds promising (assuming you meant moving the dependencies to machine learning)! I'll look into it. Note that this would be a separate pkgbase since you cannot split the build function.
dcelasun commented on 2025-09-16 16:37 (UTC)
What do you think about a separate package function for immich-machine-learning
and moving most of the dependencies to immich-server
? This is useful for remote machine learning where you just want the ML service to use the GPU and talk HTTP, without any postgres, redis etc. running locally.
caoticofanegas commented on 2025-09-10 18:30 (UTC) (edited on 2025-09-10 18:31 (UTC) by caoticofanegas)
@aliu my guess is that the path used in the docker image is correct for the corresponding postgre image, so I'm patching the code in here before compiling. Here's the content of the patch file, backup.service.ts.patch
:
--- a/server/src/services/backup.service.ts
+++ b/server/src/services/backup.service.ts
@@ -113,7 +113,7 @@
try {
await new Promise<void>((resolve, reject) => {
const pgdump = this.processRepository.spawn(
- `/usr/lib/postgresql/${databaseMajorVersion}/bin/pg_dumpall`,
+ `/usr/bin/pg_dumpall`,
databaseParams,
{
env: {
The changes on the PKGBUILD
are just to include and apply the patch on prepare()
:
source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/immich-app/immich/archive/refs/tags/v${pkgver}.tar.gz"
"nest-cli.json.patch"
"backup.service.ts.patch"
[...]
sha256sums=('689cab83e0b24b01f620f6316ec5c65c566d95357285203319bc881ad2745a59'
'39f874f7a53755a9a2302b70113c517066ded40952d1783df3623722f8721c44'
'00ae69ddab320aaf4e426f8372f22415c6486968f006fd12b9bd8cdeca8a8664'
'SKIP'
[...]
prepare() {
cd "${srcdir}/${pkgbase}-${pkgver}"
patch -p1 -i ../../backup.service.ts.patch
imgdate=$(grep ^'FROM ghcr.io/immich-app/base-server-prod' server/Dockerfile | cut -d: -f2 | cut -d@ -f1)
cd "${srcdir}/base-images"
git checkout "$imgdate"
}
Cheers.
aliu commented on 2025-09-10 03:22 (UTC)
Ah, I thought you were making an upstream MR lol.
Let me see what the patch looks like and I'll add you!
caoticofanegas commented on 2025-09-08 16:15 (UTC)
Ok @aliu, I just checked for more references to hardcoded paths on backup.service.ts and couldn't find any, just one in a spec.ts test file which seems to be a test file, so it works just fine without changing it.
I've got my changes ready on a local branch of the aur repository, just tell me if you prefer to add me as a collaborator so I can push them, or send you the patch file.
Cheers.
caoticofanegas commented on 2025-09-06 13:33 (UTC)
@aliu good. I've got the pg_dumpall patch ready and working, but while I'm on it, I'm checking the rest of hardcoded paths on that file to make sure they point to the right binaries. We're making good progress!
aliu commented on 2025-09-05 21:16 (UTC) (edited on 2025-09-05 21:20 (UTC) by aliu)
@caoticofanegas Thanks!
Re: failing to start because redis.service isn't found, this is a common question now lol. Valkey is supposed to provide the redis.service alias, and after a patch I made to the Arch package it should be provided in the next Valkey release.
Pinned Comments
aliu commented on 2025-09-05 21:16 (UTC) (edited on 2025-09-05 21:20 (UTC) by aliu)
@caoticofanegas Thanks!
Re: failing to start because redis.service isn't found, this is a common question now lol. Valkey is supposed to provide the redis.service alias, and after a patch I made to the Arch package it should be provided in the next Valkey release.
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:
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.