[feat] arm64 OTP and Docker builds #424

Open
opened 2023-01-06 21:55:00 +00:00 by bjo · 6 comments

The idea

Arm64 OTP and Docker images

The reasoning

I would like to run Akkoma on a Pi4, but building it manually takes a lot of time.

Have you searched for this feature request?

  • I have double-checked and have not found this feature request mentioned anywhere.
  • This feature is related to the Akkoma backend specifically, and not pleroma-fe.
### The idea Arm64 OTP and Docker images ### The reasoning I would like to run Akkoma on a Pi4, but building it manually takes a lot of time. ### Have you searched for this feature request? - [x] I have double-checked and have not found this feature request mentioned anywhere. - [x] This feature is related to the Akkoma backend specifically, and not pleroma-fe.
bjo added the
feature request
label 2023-01-06 21:55:00 +00:00

sadly i can't really afford any more infrastructure to build OTPs on

sadly i can't really afford any more infrastructure to build OTPs on
Author

How are the OTPs being build? Oracle provides free tier arm64 boxes with 4 cores, 24gb memory and 50gb space. I used one to try building an arm64 image, it was fast. Maybe I could put a runner on it?

How are the OTPs being build? Oracle provides free tier arm64 boxes with 4 cores, 24gb memory and 50gb space. I used one to try building an arm64 image, it was fast. Maybe I could put a runner on it?

oracle is 100% out of capacity in my region, this will have to wait on them

oracle is 100% out of capacity in my region, this will have to wait on them
Author

I could put a runner on a arm-box in Amsterdam, if you tell me who to use it.

I could put a runner on a arm-box in Amsterdam, if you tell me who to use it.

Docker supports using qemu usermode emulation, which allows any machine to (slowly) build and package the system. Erlang's JIT is not happy in this emulation, but I found the builder image for another Erlang project that has a workaround for it. That's what I'm using for my personal ARM64 Docker builds, though I believe it's using outdated Erlang and Alpine versions.

Docker supports using qemu usermode emulation, which allows any machine to (slowly) build and package the system. Erlang's JIT is [not happy](https://github.com/erlang/otp/pull/6340) in this emulation, but I found the [builder image](https://github.com/emqx/emqx-builder/pull/65) for another Erlang project that has a workaround for it. That's what I'm using for [my personal ARM64 Docker builds](https://github.com/hufman/docker-akkoma), though I believe it's using outdated Erlang and Alpine versions.

ARM releases done

will look into docker to see if it's any cleaner than the "build your own"

ARM releases done will look into docker to see if it's any cleaner than the "build your own"
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: AkkomaGang/akkoma#424
No description provided.