I’m interested in running Lemmy on an ARM64 host, mostly just for fun and because it’s possible.
I’ve tried a couple of things without getting it right yet:
Building from scratch on Ubuntu 20.04 This went quite well but I was unable to get pict-rs working, so there was no image hosting. I followed this guide: https://join-lemmy.org/docs/administration/from_scratch.html I had to build imagemagick to get the ARM64 binary, however pict-rs did not run. Is it correct that it’s included with the lemmy-server binary or am I understanding how it works wrong?
Using Docker images I was able to get Lemmy up and running using 0.17.3 ARM64 docker images (unfortunately 0.17.4 images don’t exist yet). I set up an nginx reverse proxy on the host and was able to access the instance OK, however there was no connectivity between my instance and external sites. Looking in the logs I saw timeout errors:
lemmy_1 | LemmyError { message: None, inner: Request error: error sending request for url (https://kbin.social/u/Emptiness): operation timed out
lemmy_1 |
lemmy_1 | Caused by:
lemmy_1 | 0: error sending request for url (https://kbin.social/u/Emptiness): operation timed out
So I was wondering if anybody had a guide out there to hosting Lemmy (preferably 0.17.4) on an ARM64 host, either by building it from scratch or by using Docker images. Or any other method really.
That second error is not a matter of your ARM64 architecture, but a networking thing. If you launch a bash shell in your container, does any network activity work? That will tell you if it’s the container, or just Lemmy.
I thought of trying that, but the lemmy container doesn’t have ping/wget/curl, unless there is a way to test this without those tools.
You should be able to use docker exec to get a bash prompt from within the docker container and manually install ping using apt/apk.
I should, I think I gave up on this approach too quickly. The lemmy user isn’t a superuser, and I couldn’t su to root. I’m sure there’s another way to log in as the root user though. I’ll give this a try.
After getting into the shell, just install the tools you need using the
apk
command, e.g.apk --no-cache add curl