#Immich latest realese new installation on Raspberry Pi 4 error. Help!

1 messages · Page 1 of 1 (latest)

silent saffron
#

New to the world of Raspberry Pi and Installing Immich on it. Followed the guide from the website using docker.
After the docker compose up -d the Web URL is not accessible.
On executing docker compose up getting the below:

immich_server | [Nest] 8 - 01/25/2025, 5:07:13 PM LOG [Microservices:EventRepository] Initialized websocket server
immich_server | Error: The pgvecto.rs extension is not available in this Postgres instance.
immich_server | If using a container image, ensure the image has the extension installed.
immich_server | at /usr/src/app/dist/services/database.service.js:73:23
immich_server | at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
immich_server | at async /usr/src/app/dist/repositories/database.repository.js:211:23
immich_server | microservices worker error: Error: The pgvecto.rs extension is not available in this Postgres instance.
immich_server | If using a container image, ensure the image has the extension installed.
immich_server | microservices worker exited with code 1

worn remnantBOT
#

:wave: Hey @silent saffron,

Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich immich.

References

#

Checklist

I have...

  1. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time).
  2. :blue_square: read applicable release notes.
  3. :blue_square: reviewed the FAQs for known issues.
  4. :blue_square: reviewed Github for known issues.
  5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy).
  6. :blue_square: uploaded the relevant information (see below).
  7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable

(an item can be marked as "complete" by reacting with the appropriate number)

Information

In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:

  • Your docker-compose.yml and .env files.
  • Logs from all the containers and their status (see above).
  • All the troubleshooting steps you've tried so far.
  • Any recent changes you've made to Immich or your system.
  • Details about your system (both software/OS and hardware).
  • Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h).
  • The version of the Immich server, mobile app, and other relevant pieces.
  • Any other information that you think might be relevant.

Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)

If this ticket can be closed you can use the /close command, and re-open it later if needed.

GitHub

Explore the GitHub Discussions forum for immich-app immich. Discuss code, ask questions & collaborate with the developer community.

GitHub

High performance self-hosted photo and video management solution. - Issues · immich-app/immich

gaunt silo
#

Did yuo install 32 or 64 bit Raspbian?

silent saffron
#

64bit it is

alpine geyser
#

Please post all the info the bot requested

silent saffron
#

.env file


# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zone>
# TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich```
#

docker-compose.yml file

gaunt silo
#

code blocks are made by putting three backticks ` in front and in the back:

code block
silent saffron
#

fdisk -l

Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6abf2deb

Device         Boot   Start       End   Sectors  Size Id Type
/dev/mmcblk0p1         8192   1056767   1048576  512M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      1056768 124669951 123613184 58.9G 83 Linux


Disk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: SSD 850 EVO 250G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: A38128DC-C410-4B5E-9C9D-2DA68FFE4A52

Device     Start       End   Sectors   Size Type
/dev/sda1   2048 488397134 488395087 232.9G Linux filesystem
#

df -h

udev            1.6G     0  1.6G   0% /dev
tmpfs           380M  2.9M  377M   1% /run
/dev/mmcblk0p2   58G   21G   35G  38% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M   20K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /tmp
/dev/mmcblk0p1  510M   71M  439M  14% /boot/firmware
folder2ram      1.9G  568M  1.3G  30% /var/log
/dev/sda1       229G   21G  208G  10% /srv/dev-disk-by-uuid-4b1a3a3f-5f3e-4056-aed4-705ebcbd8a33
folder2ram      1.9G     0  1.9G   0% /var/tmp
folder2ram      1.9G  604K  1.9G   1% /var/lib/openmediavault/rrd
folder2ram      1.9G  3.8M  1.9G   1% /var/spool
folder2ram      1.9G   17M  1.9G   1% /var/lib/rrdcached
folder2ram      1.9G  4.0K  1.9G   1% /var/lib/monit
folder2ram      1.9G   16K  1.9G   1% /var/cache/samba
tmpfs           380M     0  380M   0% /run/user/1000
#

Thats all information I had to share, please let me know if any other logs needed.

#

docker compose logs

immich_server            | Error: The pgvecto.rs extension is not available in this Postgres instance.
immich_server            |     If using a container image, ensure the image has the extension installed.
immich_server            |     at /usr/src/app/dist/services/database.service.js:73:23
immich_server            |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
immich_server            |     at async /usr/src/app/dist/repositories/database.repository.js:211:23
immich_server            | microservices worker error: Error: The pgvecto.rs extension is not available in this Postgres instance.
immich_server            |     If using a container image, ensure the image has the extension installed.
immich_server            | microservices worker exited with code 1
immich_server            | Killing api process
immich_server            | Initializing Immich v1.125.2
immich_server            | Detected CPU Cores: 4
immich_server            | Starting api worker
immich_server            | Starting microservices worker```


#

docker ps -a

8191775c4994   tensorchord/pgvecto-rs:pg14-v0.2.0                   "docker-entrypoint.s…"   40 minutes ago   Exited (0) 40 minutes ago               immich_postgres
3841965e7c27   ghcr.io/immich-app/immich-server:release             "tini -- /bin/bash s…"   5 hours ago      Exited (143) 40 minutes ago             immich_server
748a08ccaaee   ghcr.io/immich-app/immich-machine-learning:release   "tini -- ./start.sh"     5 hours ago      Exited (143) 40 minutes ago             immich_machine_learning
53a25823e0ad   redis:6.2-alpine                                     "docker-entrypoint.s…"   5 hours ago      Exited (0) 40 minutes ago               immich_redis
9877852b7833   tensorchord/pgvecto-rs:pg14-v0.2.0                   "docker-entrypoint.s…"   6 hours ago      Created                                 postgres14
3b151906de52   hello-world                                          "/hello"                 10 hours ago     Exited (0) 10 hours ago                 loving_brown
gaunt silo
#

I see two postgres containers

#

Are you running any other container services?

silent saffron
#

No, if other instance needs to be killed/removed then I am fine. But don't know how to.

gaunt silo
#

Try docker compose down followed by docker container prune
This should clear out all containers, but the image and DB storage is persistant so we get to keep those

#

Then docker compose up -d again

silent saffron
#

Done, same error again.

gaunt silo
#

Does the docker ps -a still list two postgres?

silent saffron
#

now

2007f4db9c26   ghcr.io/immich-app/immich-server:release             "tini -- /bin/bash s…"   About a minute ago   Exited (143) 5 seconds ago             immich_server
7e14e620901a   tensorchord/pgvecto-rs:pg14-v0.2.0                   "docker-entrypoint.s…"   About a minute ago   Exited (0) 5 seconds ago               immich_postgres
8e8946bee54b   ghcr.io/immich-app/immich-machine-learning:release   "tini -- ./start.sh"     About a minute ago   Exited (143) 5 seconds ago             immich_machine_learning
b0081d225a1f   redis:6.2-alpine                                     "docker-entrypoint.s…"   About a minute ago   Exited (0) 5 seconds ago               immich_redis
gaunt silo
#

alright, progress at least

silent saffron
gaunt silo
#

I would try re-pulling the (postgres) container images next

#

docker compose up --force-recreate -d

silent saffron
#

Still same.

#

Just thinking if we have to install manually the missing pgvecto.rs extension?

gaunt silo
#

Shouldn't be the case, no, it's explicitely built into the image

#

The only thing I can think of is somehow there is a postgres database on the network, reachable, with default settings

silent saffron
#

Is there any way to find out that?

gaunt silo
#

maybe docker compose start immich_server and check the logs

#

docker compose down first

#

It should only start the immich_server container so if it says that the DB instance doesn't have vector extensions then that means there is another DB somewhere

silent saffron
#

Getting:
no such service: immich_server

#

I have this on Raspberry Pi 4, running Hyperion and Open media vault only these two services

gaunt silo
#

immich-server probably works

silent saffron
#

Do I need to start the redis before this? immich-server errors out:
service "redis" has no container to start

gaunt silo
#

I have no idea what Hyperion is

silent saffron
gaunt silo
#

Alright what about docker compose start database

silent saffron
#

service "database" has no container to start

gaunt silo
#

ah of course

#

docker compose create first

#

and then docker start immich_postgres should do it

silent saffron
#

docker compose start immich-server

 ✔ Container immich_redis     Started                                                                                 0.6s 
 ✔ Container immich_postgres  Started                                                                                 0.7s 
 ✔ Container immich_server    Started                                                                                 0.6s 
#

I tried immch-server and it started all three

gaunt silo
#

i know lol

#

now you can check the installed extensions with docker exec -it immich_postgres psql -U postgres

silent saffron
#

It has presented me the space for postgres sql now

#
Type "help" for help.

postgres=# 
gaunt silo
#

Yay

#

Now \c immich

#

and \dx

#

Expected output:

immich=# \dx
                                                    List of installed extensions
     Name      | Version |   Schema   |                                         Description                                          
---------------+---------+------------+----------------------------------------------------------------------------------------------
 cube          | 1.5     | public     | data type for multidimensional cubes
 earthdistance | 1.1     | public     | calculate great-circle distances on the surface of the Earth
 pg_trgm       | 1.6     | public     | text similarity measurement and index searching based on trigrams
 plpgsql       | 1.0     | pg_catalog | PL/pgSQL procedural language
 unaccent      | 1.1     | public     | text search dictionary that removes accents
 uuid-ossp     | 1.1     | public     | generate universally unique identifiers (UUIDs)
 vectors       | 0.2.0   | vectors    | vectors: Vector database plugin for Postgres, written in Rust, specifically designed for LLM
(7 rows)
silent saffron
#
You are now connected to database "immich" as user "postgres".
immich-# \dx
                            List of installed extensions
   Name    | Version |   Schema   |                   Description                   
-----------+---------+------------+-------------------------------------------------
 plpgsql   | 1.0     | pg_catalog | PL/pgSQL procedural language
 uuid-ossp | 1.1     | public     | generate universally unique identifiers (UUIDs)
(2 rows)
gaunt silo
#

Well that doesn't seem right

#

Ok so this is brand new right, nothing used/uploaded yet?

silent saffron
#

right

gaunt silo
#

exit; to get out

#

then docker compose down

#

then just nuke the database folder, it's called postgres, should be right in that folder you're in

#

and then docker compose up -d again

silent saffron
gaunt silo
#

yes, you could mv it first just to be safe you don't delete anything else 😛 but indeed rm -rf ./postgres should do it

silent saffron
#

Done, getting the same two rows now as well

gaunt silo
#

;_; how even

#

You did docker compose up -d right?

silent saffron
#

Yupe

gaunt silo
#

Could you exit hte container and copy the output of docker inspect immich_postgres to a file?

#

I'm going to workout now but I'll check on it in a bit

silent saffron
#
[+] Running 5/5
 ✔ Network immich_default             Created                                                                         0.2s 
 ✔ Container immich_machine_learning  Started                                                                         1.6s 
 ✔ Container immich_redis             Started                                                                         1.5s 
 ✔ Container immich_postgres          Started                                                                         1.5s 
 ✔ Container immich_server            Started                                                                         1.9s```
alpine geyser
#

Can you also inspect the server container?

silent saffron
#

Sure

gaunt silo
#

Still stumped 😐

marsh shell
#

That extension gets added by immich on first boot

marsh shell
marsh shell
silent saffron
#
Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 7  - 01/25/2025, 9:22:39 PM     LOG [Microservices:EventRepository] Initialized websocket server
Error: The pgvecto.rs extension is not available in this Postgres instance.
    If using a container image, ensure the image has the extension installed.
    at /usr/src/app/dist/services/database.service.js:73:23
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async /usr/src/app/dist/repositories/database.repository.js:211:23
microservices worker error: Error: The pgvecto.rs extension is not available in this Postgres instance.
    If using a container image, ensure the image has the extension installed.
microservices worker exited with code 1
Killing api process
marsh shell
#

Can you add DB_HOSTNAME=immich_postgres to the .env

gaunt silo
#

(and then docker compose up -d of course)

silent saffron
#

same

Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 7  - 01/25/2025, 9:26:30 PM     LOG [Microservices:EventRepository] Initialized websocket server
Error: The pgvecto.rs extension is not available in this Postgres instance.
    If using a container image, ensure the image has the extension installed.
    at /usr/src/app/dist/services/database.service.js:73:23
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async /usr/src/app/dist/repositories/database.repository.js:211:23
microservices worker error: Error: The pgvecto.rs extension is not available in this Postgres instance.
    If using a container image, ensure the image has the extension installed.
microservices worker exited with code 1
Killing api process```
marsh shell
#

Can you go into the Postgres folder and check the logs

silent saffron
#
-bash: cd: postgres: Permission denied```
Any idea how to go inside
gaunt silo
#

could you ls -la ~/immich-app for us please

silent saffron
#
drwxr-xr-x  5 admin                 users 4096 Jan 26 02:54 .
drwx------  4 admin                 users 4096 Jan 25 22:31 ..
-rw-r--r--  1 admin                 users  961 Jan 26 02:54 .env
-rw-r--r--  1 admin                 users 3252 Jan 25 01:03 docker-compose.yml
drwxr-xr-x  2 root                  root  4096 Jan 25 22:36 library
drwx------ 21 openmediavault-webgui root  4096 Jan 26 02:56 postgres
drwx------ 21 openmediavault-webgui root  4096 Jan 26 00:22 postgres_bkp```
gaunt silo
#

Is there any difference in output between docker ps -a and sudo docker ps -a ?

silent saffron
#

docker ps -a

638e600d23c0   ghcr.io/immich-app/immich-server:release             "tini -- /bin/bash s…"   7 minutes ago   Up 15 seconds (health: starting)   0.0.0.0:2283->2283/tcp, :::2283->2283/tcp   immich_server
c5dd0bd8b139   tensorchord/pgvecto-rs:pg14-v0.2.0                   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes (healthy)             5432/tcp                                    immich_postgres
59bad6df7e17   ghcr.io/immich-app/immich-machine-learning:release   "tini -- ./start.sh"     7 minutes ago   Up 7 minutes (healthy)                                                         immich_machine_learning
3f31fc8c2d15   redis:6.2-alpine                                     "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes (healthy)             6379/tcp                                    immich_redis
#

sudo docker ps -a

638e600d23c0   ghcr.io/immich-app/immich-server:release             "tini -- /bin/bash s…"   7 minutes ago   Up 3 seconds (health: starting)   0.0.0.0:2283->2283/tcp, :::2283->2283/tcp   immich_server
c5dd0bd8b139   tensorchord/pgvecto-rs:pg14-v0.2.0                   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes (healthy)            5432/tcp                                    immich_postgres
59bad6df7e17   ghcr.io/immich-app/immich-machine-learning:release   "tini -- ./start.sh"     7 minutes ago   Up 7 minutes (healthy)                                                        immich_machine_learning
3f31fc8c2d15   redis:6.2-alpine                                     "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes (healthy)            6379/tcp                                    immich_redis
#

seems same

marsh shell
#

Why is the ownership so messed up

gaunt silo
#

postgres is 999, which is the same as openmediavault-webgui

marsh shell
#

Oh 999 I see

#

Yes

silent saffron
gaunt silo
#

does seem weird that the group is root and not 999 as well

marsh shell
gaunt silo
#

ah right it'll be all 999 inside the folder

#

anyway bedtime for me 🙂

silent saffron
silent saffron
#

Is there any other steps I should try or is it the dead end.

silent saffron
#

Bumping up this to check if I can try any other steps.]

gaunt silo
#

Right sorry to leave you hanging there

#

Could you df -hT for me

silent saffron
#

Hi How are you doing, Thanks for helping

#
udev           devtmpfs  1.6G     0  1.6G   0% /dev
tmpfs          tmpfs     380M  3.3M  376M   1% /run
/dev/mmcblk0p2 ext4       58G   21G   35G  38% /
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     5.0M   20K  5.0M   1% /run/lock
tmpfs          tmpfs     1.9G     0  1.9G   0% /tmp
/dev/mmcblk0p1 vfat      510M   71M  439M  14% /boot/firmware
/dev/sda1      ext4      229G   21G  208G  10% /srv/dev-disk-by-uuid-4b1a3a3f-5f3e-4056-aed4-705ebcbd8a33
folder2ram     tmpfs     1.9G  518M  1.4G  28% /var/log
folder2ram     tmpfs     1.9G     0  1.9G   0% /var/tmp
folder2ram     tmpfs     1.9G  660K  1.9G   1% /var/lib/openmediavault/rrd
folder2ram     tmpfs     1.9G  3.8M  1.9G   1% /var/spool
folder2ram     tmpfs     1.9G   16M  1.9G   1% /var/lib/rrdcached
folder2ram     tmpfs     1.9G  4.0K  1.9G   1% /var/lib/monit
folder2ram     tmpfs     1.9G   16K  1.9G   1% /var/cache/samba
tmpfs          tmpfs     380M     0  380M   0% /run/user/1000
gaunt silo
#

Looking good

#

Ok so scrolling up/down here

#

You mention RPi

#

But I see OMV

#

Are you running OMV next to immich?

#

Is OMV installed on the RPi as OS?

silent saffron
#

Let me add the URL from which I downloaded

#

so on Raspberry pi I have installed Hyperbian which is actually a Raspberry Pi OS lite

#

and installed OMV later

marsh shell
#

Bro/sis I think you need to start over

#

Your server is what seems to be a LED light controller system ..?

silent saffron
#

So should I install fresh and then first setup immich

marsh shell
#

So you have a Pi, on top of that this LED server, on top of that OMV, then immich..?

silent saffron
#

and then later other things?

gaunt silo
#

Just regular Raspbian (lite)

marsh shell
#

Yes I think you should install plain raspberry OS. 64 bit

gaunt silo
#

Hyperbian doesn't seem like it's supposed to be used for anything else 👀

silent saffron
#

In this sequence

#

My OMV is accessible with this URL
http://<pi-ip-address>/#/dashboard

#

Is OMV clashing with Immich!

silent saffron
#

Trying a fresh install, will keep you guys updated