outline-server icon indicating copy to clipboard operation
outline-server copied to clipboard

Raspberry Pi - Shadowbox Stuck Restarting, Install Script Freezes

Open imreallyliam opened this issue 3 years ago • 12 comments

When installing on the Raspberry Pi 4B running Ubuntu 20.10, the process freezes on > Waiting for Outline server to be healthy ....

Inspecting the docker container for shadowbox, I can see this error:

standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error
standard_init_linux.go:219: exec user process caused: exec format error

imreallyliam avatar Mar 29 '21 14:03 imreallyliam

Same issue here

phlinhng avatar Apr 01 '21 10:04 phlinhng

Should be noted that this issue occurs on Rasbpian as well

imreallyliam avatar Apr 01 '21 11:04 imreallyliam

I've figure out how to solve this. The main reason is that Jigsaw didn't maintain the docker image of shadowbox for ARM64 (https://github.com/Jigsaw-Code/outline-server/issues/244). Just enter export SB_IMAGE=ken1029/shadowbox:latest before running install_server.sh and the installation will work. Thanks ken1029 for compiling ARM version shadowbox. Here is a example

export SB_IMAGE=ken1029/shadowbox:latest
wget https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh
bash install_server.sh --hostname "yourhost.com"

phlinhng avatar Apr 01 '21 11:04 phlinhng

Just enter export SB_IMAGE=ken1029/shadowbox:latest before running install_server.sh and the installation will work.

Can confirm success on Raspberry Pi 3 Model B Plus Rev 1.3 running Ubuntu 20.04.2 LTS aarch64

mfld-pub avatar Apr 18 '21 14:04 mfld-pub

Same issue here on raspberry pi.

ghost avatar May 31 '21 02:05 ghost

I've figure out how to solve this. The main reason is that Jigsaw didn't maintain the docker image of shadowbox for ARM64 (#244). Just enter export SB_IMAGE=ken1029/shadowbox:latest before running install_server.sh and the installation will work. Thanks ken1029 for compiling ARM version shadowbox.

But the kern1029/shadowbox:latest was last updated 2years ago, while default image https://quay.io/repository/outline/shadowbox?tab=history was last updated in April, 2021. Also, second service - watchtower should service shadowbox image update, so without regular image builds for arm architecture it is useless.

I think that correct way of dealing with this situation is to provide multi-acrh image like described here https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/

lomax avatar Oct 25 '21 12:10 lomax

sudo apt install binfmt-support qemu qemu-user-static can pass this error but lead to another

Starting Prometheus with args [--config.file,/opt/outline/persisted-state/prometheus/config.yml,--web.enable-admin-api,--storage.tsdb.retention.time,31d,--storage.tsdb.path,/opt/outline/persisted-state/prometheus/data,--web.listen-address,127.0.0.1:9090,--log.level,info] E2021-10-25T15:52:54.788Z 22 main.js:108] Prometheus has exited with error. Code: null, Signal: SIGILL

godshades avatar Oct 25 '21 15:10 godshades

Note that to do this you'll have delegate the underlying node image based on arch as well - currently it's pinned to just the one: https://github.com/Jigsaw-Code/outline-server/blob/master/src/shadowbox/docker/build_action.sh#L24

daniellacosse avatar Oct 27 '21 17:10 daniellacosse

Btw, https://github.com/Jigsaw-Code/outline-server/blob/master/third_party/outline-ss-server/linux/outline-ss-server is another hardcoded blob if someone going to rebuild the image for different arch

lomax avatar Oct 27 '21 19:10 lomax

Guys lets fix this issue together.

ghost avatar Oct 27 '21 19:10 ghost

There are already two PR's #598 and #305.

lomax avatar Oct 27 '21 19:10 lomax

There are already two PR's #598 and #305.

They won't approve those, it links to the guys profile and if wanted to screw everyone over its a single commit away.

ghost avatar Oct 27 '21 20:10 ghost