outline-server
outline-server copied to clipboard
Support server platform: ARM
Tried to run this on ARM server, it hanged on
> Waiting for Outline server to be healthy ....
so I checked docker log and...
standard_init_linux.go:228: exec user process caused: exec format error
this happened. Seems like binaries don't support aarch64. Looks like adding aarch64-compatible binaries will solve this problem.
I support this completely.
https://github.com/Jigsaw-Code/outline-server/issues/244#issuecomment-646507320 works for me on Oracle's ARM VPS
You could try my build with arm64 support https://github.com/kugaevsky/outline-server-arm64
root@instance-20220330-2007:~# sudo SB_IMAGE="kugaevsky/outline-server-arm64" bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)" Unsupported machine type: aarch64. Please run this script on a x86_64 machine
Sorry! Something went wrong. If you can't figure this out, please copy and paste all this output into the Outline Manager screen, and send it to us, to see if we can help you. Full log: /tmp/outline_logVG4
same issue
+up
sudo SB_IMAGE="kugaevsky/outline-server-arm64" bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
Unsupported machine type: aarch64. Please run this script on a x86_64 machine
not working 06.sept.22
https://github.com/kugaevsky/outline-server-arm64/issues/3#issuecomment-1069800724
Here's simpler solution.
curl -sL "https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh" | sed '/local MACHINE_TYPE/,/fi/{d}' | bash
You can test before run on https://sed.js.org/ too.
- https://github.com/seia-soto/outline-server-multiarch/pkgs/container/shadowbox#unsupported-machine-type-machine_type-please-run-this-script-on-a-x86_64-machine
Here's simpler solution.
curl -sL "https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh" | sed '/local MACHINE_TYPE/,/fi/{d}' | bash
You can test before run on https://sed.js.org/ too.
- https://github.com/seia-soto/outline-server-multiarch/pkgs/container/shadowbox#unsupported-machine-type-machine_type-please-run-this-script-on-a-x86_64-machine
Can you please make a simple pull request and i feel like they will approve it.
I've been watching this and other ARM support issues/PRs for years(!) and took another look just now. I was able to get this to work, somewhat satisfactorily, using https://github.com/tonistiigi/binfmt, on my Raspberry Pi 4 8GB running Ubuntu Server
In short,
- Install the emulator via
docker run --privileged --rm tonistiigi/binfmt --install amd64
(for amd64 emulation)- You might need to run this via systemd (or whatever your system requires) as it doesn't persist on reboot
- I followed https://askubuntu.com/a/919059/41028
- Retrieve the install script via
wget https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh
- Remove the lines at https://github.com/Jigsaw-Code/outline-server/blob/6ea0c1d084ab064f945078c0038fa56acf61c4a5/src/server_manager/install_scripts/install_server.sh#L417-L422 (the command at https://github.com/Jigsaw-Code/outline-server/issues/1009#issuecomment-1284197880 should currently work, but I did it manually)
- Finally, run the install script:
sudo bash -c "./install_server.sh --hostname <ddns_hostname> --api-port abc --keys-port xyz"
(I pass hostname since I have a Dynamic DNS name for my server and also specific ports, but you can leave these all out)
Unsure how much slower this is. Will need to test this a bit