Here's a collection of errors I came across while trying to set immich up, as well as the ways I resolved them. Some of these should probably be added/updated in this aur PKGBUILD. Some of these are just dumb mistakes on my part, but may help others running into them.
node:fs:1396
handleErrorFromBinding(ctx);
^
Error: EACCES: permission denied, mkdir 'upload/library'
at mkdirSync (node:fs:1396:3)
at FilesystemProvider.mkdirSync (/var/lib/immich/app/server/dist/infra/repositories/filesystem.provider.js:72:32)
at StorageService.init (/var/lib/immich/app/server/dist/domain/storage/storage.service.js:28:32)
at AppService.init (/var/lib/immich/app/server/dist/immich/app.service.js:28:29)
at bootstrap (/var/lib/immich/app/server/dist/immich/main.js:31:45)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
errno: -13,
syscall: 'mkdir',
code: 'EACCES',
path: 'upload/library'
}
/var/lib/immich/*
needs proper permissions if services are ran as user immich; chmod --recursive immich:immich /var/lib/immich/
to fix.
/var/lib/immich/app/server/node_modules/@nestjs/config/dist/config.module.js:75
throw new Error(`Config validation error: ${error.message}`);
^
Error: Config validation error: "TYPESENSE_API_KEY" is not allowed to be empty
at ConfigModule.forRoot (/var/lib/immich/app/server/node_modules/@nestjs/config/dist/config.module.js:75:23)
at Object.<anonymous> (/var/lib/immich/app/server/dist/infra/infra.module.js:49:35)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Module.require (node:internal/modules/cjs/loader:1141:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (/var/lib/immich/app/server/dist/infra/index.js:19:14)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
Fix by commenting out TYPESENSE_API_KEY=
in /etc/immich.conf
.
unable to load "/usr/lib/vips-modules-8.14/vips-openslide.so" -- libopenslide.so.0: cannot open shared object file: No such file or directory
unable to load "/usr/lib/vips-modules-8.14/vips-poppler.so" -- libpoppler-glib.so.8: cannot open shared object file: No such file or directory
Fix by installing extra/poppler-glib
.
Error: connect ENOENT /run/redis/redis.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
errno: -2,
code: 'ENOENT',
syscall: 'connect',
address: '/run/redis/redis.sock'
}
Make sure to configure redis to provide a unix socket
Error: connect EACCES /run/redis/redis.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
errno: -13,
code: 'EACCES',
syscall: 'connect',
address: '/run/redis/redis.sock'
}
Again, make sure to follow the redis guide on the arch wiki about providing a unix socket, specifically the socket's permissions; the immich user also needs to be added to the redis group
immich-microservices.service: Failed to set up mount namespacing: /run/systemd/unit-root/var/lib/immich/app/server/.reverse-geocoding-dump: No such file or directory
immich-microservices.service: Failed at step NAMESPACE spawning node: No such file or directory
immich-microservices.service: Main process exited, code=exited, status=226/NAMESPACE
mkdir /var/lib/immich/app/server/.reverse-geocoding-dump
to fix.
I also noticed /var/lib/immich/app/server/upload/
is a symbolic link to /var/lib/immich/upload
, which doesn't exist after install, so I mkdir
'd it and chown
'd it to immich:immich
.
After fixing all these and starting all 3 services (immich-{server,web,microservices}), they run without errors and I get a first time login page at port 3000, but filling out all the fields and pressing 'sign up' does nothing. By using the browser's debugging, it looks like pressing 'sign up' sends a post req to port 3001, which is returning a 404 not found. Accessing immich-server
and immich-microservices
located on ports 3001 and 3002 respectively show json returning a 404 for 'Cannot GET /'. As of right now, this is as far as I've gotten. Any advice or feedback is welcomed! Let me know if these were obvious, or if there's some documentation I might have missed.
Pinned Comments
pikl commented on 2024-08-05 09:52 (UTC)
From
v1.111.0
, this package does not build withnodejs
<v20
.