swaparr icon indicating copy to clipboard operation
swaparr copied to clipboard

Raspberry Pi Support - /usr/bin/sh: exec format error

Open brandonneal opened this issue 11 months ago • 5 comments

deployed environment Portainer (Community Edition 2.19.4) Raspberry Pi OS lite (Linux rpi4-01 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux)

when I initially ran "docker compose logs radarr" I got the following

ERROR: Can't find a suitable configuration file in this directory or any parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml

so I added the docker-compose.yml file to the RPI and ran it again now I'm getting this fail

brandonneal avatar Mar 10 '24 01:03 brandonneal

Hi @brandonneal 👋

Swaparr only has an image with binaries that support x86_64, I assume that this does not meet your requirements since Raspbian is ARM based.

You could attempt to install it without Docker but you'd have to compile Swaparr yourself.

I'm willing to provide support for ARM based systems and might look into it tomorrow.

^ Thijmen

ThijmenGThN avatar Mar 10 '24 01:03 ThijmenGThN

Wow thanks for the quick reply, I very much appreciate you looking into RPI support

brandonneal avatar Mar 10 '24 01:03 brandonneal

Hi @brandonneal

Here's an update regarding this issue; The Swaparr workflows currently run on GitHub's self hosted runners which are x86_64 exclusively, so building for aarch64 is not possible as far as I know (might be wrong about this).

So, what now?

I'm currently experimenting with running an Arm64 Debian image on my Proxmox instance which would then run a self hosted GitHub Actions runner, that way both the image and the binaries can be build on a virtual-"native" system.

It's a bit unfortunate that I don't have a raspberry pi at my disposal (recently sold my Pi 4, still have a Zero but that one is currently already in use 😅).

I'll keep you posted in this issue about any progress that has been made.

^ Thijmen

ThijmenGThN avatar Mar 11 '24 18:03 ThijmenGThN

Hi @brandonneal !

Docker itself natively supports building for arm64, you can accomplish this like so:

First, create a Buildx builder:

docker buildx create --name builder --use

Then, utilising this, build the project

docker buildx build --platform linux/arm64 .

There are also off the shelf actions available through the marketplace.

I suspect this should only require minor edits to your release workflow. If I can help, please feel free to reach out to me on Discord

1Solon avatar Apr 06 '24 03:04 1Solon

Hi @1Solon I'll look into this, I do think that this is an issue that Swaparr should resolve.

ThijmenGThN avatar Apr 09 '24 21:04 ThijmenGThN

Hi @brandonneal and @1Solon,

Exciting news! 🎉 Support for Raspberry Pi, specifically aarch64, has been implemented.

This process involved a lot of trial and error, and all commits from v0.5.1 to v0.6.0 were dedicated to making this functionality work on aarch64.

I hope you find this update useful. I would love to hear your feedback and experiences with it. To ensure everything works smoothly, I bought a Raspberry Pi (RPI Zero 2 W) specifically for testing Swaparr.

Cheers 👋🏻

^ Thijmen

ThijmenGThN avatar Aug 02 '24 20:08 ThijmenGThN

I'm closing this issue for now, feel free to reopen it any time 😄

ThijmenGThN avatar Aug 09 '24 08:08 ThijmenGThN