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.

  • ubergeek77@lemmy.ubergeek77.chat
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    My script should get you running 0.17.4 on ARM64:

    https://github.com/ubergeek77/Lemmy-Easy-Deploy

    It will take a while to compile, since no Docker images are available, but otherwise it should work.

    It does the reverse proxy and HTTPS setup for you, no need for Nginx. If the reverse proxy is your problem, maybe this will help?

    I don’t have a lot of testers for ARM64, but I have heard of success, so hopefully it will work for you. And if you have any bugs, I’d be happy to fix them for the benefit of everyone :)

    • Horselover Fat@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I’ll have a look at this and let you know how I go. Does this work on different distros? E.g. Ubuntu/Debian, Centos, etc? The official Ansible script is Ubuntu only (possibly other apt-based distros).

    • Horselover Fat@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I’ve just given the script a go and it seems to have failed

      => => transferring context: 23.07MB                                                                                                                                                                                                                                                                                   0.2s
       => [lemmy lemmy 2/6] RUN apt-get update  && apt-get -y install --no-install-recommends postgresql-client libc6 libssl1.1 ca-certificates  && rm -rf /var/lib/apt/lists/*                                                                                                                                             18.7s
       => [lemmy builder 2/7] RUN apt-get update  && apt-get -y install --no-install-recommends libssl-dev pkg-config libpq-dev git  && rm -rf /var/lib/apt/lists/*                                                                                                                                                         14.7s
       => [lemmy lemmy 3/6] RUN addgroup --gid 1000 lemmy                                                                                                                                                                                                                                                                    0.5s
       => [lemmy lemmy 4/6] RUN useradd --no-create-home --shell /bin/sh --uid 1000 --gid 1000 lemmy                                                                                                                                                                                                                         0.4s
       => [lemmy builder 3/7] WORKDIR /app                                                                                                                                                                                                                                                                                   0.0s
       => [lemmy builder 4/7] COPY ./ ./                                                                                                                                                                                                                                                                                     0.2s
       => [lemmy builder 5/7] RUN echo "pub const VERSION: &str = "$(git describe --tag)";" > "crates/utils/src/version.rs"                                                                                                                                                                                                  0.2s 
       => ERROR [lemmy builder 6/7] RUN cargo build --release                                                                                                                                                                                                                                                              399.8s 
      

      Altough the building timer is still running

      [+] Building 761.3s (15/18)

      Is there somewhere I can access logs to see what happened?

      Edit: Managed to screenshot the error prior to it disappearing