swaparr
swaparr copied to clipboard
Raspberry Pi Support - /usr/bin/sh: exec format error
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
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
Wow thanks for the quick reply, I very much appreciate you looking into RPI support
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
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
Hi @1Solon I'll look into this, I do think that this is an issue that Swaparr should resolve.
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
I'm closing this issue for now, feel free to reopen it any time 😄