zadam / trilium

Build your personal knowledge base with Trilium Notes
GNU Affero General Public License v3.0
27.5k stars 1.94k forks source link

Docker server 0.61 fails on Raspberry Pi Zero W (armV6) #4344

Open BenBlumer opened 1 year ago

BenBlumer commented 1 year ago

Trilium Version

0.61

What operating system are you using?

Other Linux

What is your setup?

Local (no sync)

Operating System Version

Raspbian 12 (bookworm)

Description

Totally fresh Raspbian 12 (Bookworm) on Raspberry PI Zero W Rev 1.1.

sudo docker run -t -i -p 127.0.0.1:8080:8080 -v ~/trilium-data:/home/node/trilium-data zadam/trilium:0.61 gives:

No USER_UID specified, leaving 1000
No USER_GID specified, leaving 1000

before it silently exits.

So I made a docker-compose file to get a bit more info:

$ cat compose.yaml
    services:
      trilium:
    #    build: .
        image: "zadam/trilium:0.60-latest"
        volumes:
          - ~trillium-data:/home/node/trilium-data
        ports:
          - "8080:8080"

Running it gives:

$ docker compose up trilium
[+] Running 1/1
 ✔ Container trilium_composer-trilium-1  Recreated                    14.6s
Attaching to trilium_composer-trilium-1
trilium_composer-trilium-1  | No USER_UID specified, leaving 1000
trilium_composer-trilium-1  | No USER_GID specified, leaving 1000
trilium_composer-trilium-1 exited with **code 132**

However, 0.60-latest works just fine.

Thanks for your work on Trilium!

Additional info:

$ docker --version
Docker version 24.0.6, build ed223bc

Error logs

No response

sottey commented 1 year ago

If you explicitly set the userid and group id to 1000 in the docker command do you get the same error?

zadam commented 1 year ago

Hmm, unfortunately I don't have any Pi to test this. On the M1 MacBook the docker container works fine ...

zerebos commented 1 year ago

If I get some time this week I can try this out on one of my RPis

BenBlumer commented 1 year ago

If you explicitly set the userid and group id to 1000 in the docker command do you get the same error?

I no longer get the complaints about the userid and gid, but it still exits with code 132.

$ cat compose.yaml
services:
  trilium:
#    build: .
    image: "zadam/trilium:0.61-latest"
    volumes:
      - ~trillium-data:/home/node/trilium-data
    ports:
      - "8080:8080"
    environment:
      - USER_GID=1001
      - USER_UID=1001
$ docker compose up trilium
[+] Running 1/1
 ✔ Container trilium_composer-trilium-1  Recreated                                                                16.8s
Attaching to trilium_composer-trilium-1
^Ttrilium_composer-trilium-1 exited with code 132
BenBlumer commented 1 year ago

If I get some time this week I can try this out on one of my RPis

Note: it might be a 32 bit / armV6 thing -- this one is a pi zero w 1 (not the 2nd iteration).

FliegendeWurst commented 1 year ago

Note: it might be a 32 bit / armV6 thing -- this one is a pi zero w 1 (not the 2nd iteration).

It is: exit code 132 corresponds to termination by SIGILL (Illegal Instruction). Solution: compile a docker image for armv6.