New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multi architecture support #802
Comments
Making progress, I hope to have a file or two in my fork to look at as WIP. There are an awful lot of dependencies in the gem file and the npm repo but nearly all of them work without incident on ARMv8. |
Haven't decided yet if this is a job for an embedded DB like LMDB, or for a network service like OpenLDAP. postgres is clearly too much of a pig for the workload though, and redis can't do anything significant to improve the situation. Caching is relatively useless when you're under an onslaught of new content. Leaning towards OpenLDAP, which would allow clustering a bunch of servers off a single set of accounts. |
The referenced issue knu/ruby-unf_ext#15 notes that the Three ways forward:
|
The referenced issue npm/uid-number#3 reflects an issue where the Dockerfile builds as root, which the recent versions of npm object to. One way forward that I found was adding |
Upstream is working on the ruby |
The version of Ruby easily installable from apk on ARM from Alpine (2.3.3) is different from the Ruby 2.3.1 referenced in the Gemfile. |
Keep up the good work, it might help to run mastodon on an internet cube (Olimex Lime 2). |
I tried building the mastodon Docker image on a RPi3 today. I first built a ruby:2.4.1 image according to the dockerfile described in the docker library manifest. Then I used this as the base image for my mastodon build. Then it went through the bundling and was tripped up when yarn tried to build node-sass. The error output was
Tying to work from there. |
@DoubleMalt - you are running armhf on your Pi 3? I ask because there are distros that support arm64 |
@vielmetti |
@DoubleMalt I ran into the same thing when building on arm64 and did nodejs/node-gyp#1174 Still not sure what it means, but at least that fixed the build issue. |
Actually if I first do npm install node-gyp (which pulls in 3.6.0), the yarn runs fine. I think the problem is that for some reason node-gyp 3.4 gets installed by yarn itself if it is not present. |
Found a way to minimally invasive build the Docker container on ARM(hf). Will verify if this also works on aarch64. I had to do If there are some yarn whisperers here, maybe they could tell me how to only upgrade the Will submit a pull request today as a basis for further discussion. |
Merge upstream changes
I don't build my arm images on real hardware cause I don't have a reasonable arm server. I always use the cross compile feature from balenlib https://github.com/SuperSandro2000/docker-images/blob/master/reddiscord/arm32v7.Dockerfile#L1 . |
See also #9967 |
I'm building for amd64 and arm/v7 (soon arm64 too) I'm using hardware to build then since I got tired of these long compilations libraries. You could check it at:
|
Huh, just found this issue, so I guess the Docker image isn't supported on aarch64 yet, even if I build it myself? I did try to build the image myself and although it completes successfully, running it fails and reports According to the Dockerfile ubuntu:20.04 is used as base image and I can run just that perfectly fine. However even running something simple as bash ( The Dockerfile itself suggests that arm64 should work fine, at least for the NodeJS part, and everything else seems to be compiled from source or installed from package managers which I assume do account for different architectures. |
The tini in the image is x86. This PR should solve this. |
When can this be merged? I had the same issue on |
I solved the merge conflict which I somehow missed. So, now from my side. |
Someone has tried to compile Mastodon the last 4 month ? (even to the latest release is just 2 days old) There is a common issue with bcrypt use on: https://github.com/tootsuite/mastodon/blame/v3.2.1/Gemfile.lock#L177 connected with: https://github.com/heartcombo/devise/blob/v4.7.2/Gemfile.lock#L87 Solution is to use the devise 4.7.3, so make a new tag on mastodon to bump this |
Anything new on this? It would be nice to see this working on arm |
It already works on arm. I'm currently running it on a RockPro64 with postmarketOS installed, that's aarch64 (arm64). |
I'm going to close this issue since it seems like ARM support is mostly working, in the future please open individual issues for arm compatibility problems! |
I now run Mastodon on ARM, see guide here https://github.com/xmflsct/oracle-arm-mastodon. |
It would be great if Mastodon could run on systems other than Intel, such as Raspberry Pi, ARMv8, etc. This would get it into the hands of people with home single-board computers running their own services, plus some new data center ARM servers.
The fastest path that I can think of to doing this is to build the system with an alternative docker-compose.yml file, and have it pick up the containers appropriate to each of those other systems (e.g. armhf, aarch64).
Some dependencies to track:
Raspberry Pi
ARMv8
An additional dependency is the Dockerfile itself, for that the probably best thing to do is to make a Dockerfile.{armhf,aarch64} with the proper changes.
The text was updated successfully, but these errors were encountered: