Is there a guide to hosting Lemmy on an ARM64 machine?

3 years ago by lemmy.zip/u/HorseFD to c/selfhosted

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/... 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.

load all comments
studcavity 6 points 3 years ago

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.

path: 0 428677, hotness: undefined, score: 6, children: 4
HorseFD 1 point 3 years ago

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.

path: 0 428677 428773, hotness: undefined, score: 1, children: 3
RuckusTraveler 2 points 3 years ago

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.

path: 0 428677 428773 428896, hotness: undefined, score: 2, children: 1
redcalcium 1 point 3 years ago

After getting into the shell, just install the tools you need using the apk command, e.g. apk --no-cache add curl

path: 0 428677 428773 432528, hotness: undefined, score: 1, children: 0
selfhosted
selfhosted

@lemmy.world

login for more options
63023
6821
6218

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

go to feed...