Building Lemmy docker image for ARM64

HorseFD@lemm.ee to Selfhosted@lemmy.world – 35 points –

Hi all,

Unfortunately the official Lemmy and Lemmy UI docker images are currently available for AMD64 only for 0.18.0 +. I'm running an ARM64 system and am looking to use the latest 0.18.1 release candidates, however I can't find any pre-build docker images.

I've attempted to build it, however the dockerfile uses clux/muslrust which is AMD64 only.

Does anybody know of any ARM64 alternatives to clux/muslrust that I can use instead that I can just swap it for?

Here is the dockerfile for those interested: https://github.com/LemmyNet/lemmy/blob/main/docker/Dockerfile

4

hi,

i am using this

root@instance-20211112-2005:/opt/lemmy/lemmy/docker# cat Dockerfile.arm64
FROM rust:1.70.0 as builder
WORKDIR /app

COPY . .

# This can be set to release using --build-arg
ARG RUST_RELEASE_MODE="debug"

COPY . .

# Build the project

# Debug mode build
RUN --mount=type=cache,target=/app/target \
    if [ "$RUST_RELEASE_MODE" = "debug" ] ; then \
      echo "pub const VERSION: &str = \"$(git describe --tag)\";" > "crates/utils/src/version.rs" \
      && cargo build \
      && cp ./target/$RUST_RELEASE_MODE/lemmy_server /app/lemmy_server; \
    fi

# Release mode build
RUN \
    if [ "$RUST_RELEASE_MODE" = "release" ] ; then \
      echo "pub const VERSION: &str = \"$(git describe --tag)\";" > "crates/utils/src/version.rs" \
      && cargo build --release \
      && cp ./target/$RUST_RELEASE_MODE/lemmy_server /app/lemmy_server; \
    fi

FROM debian:bullseye-slim
RUN apt-get update && apt-get install -y libpq5 ca-certificates && rm -rf /var/lib/apt/lists/*

COPY --from=builder /app/lemmy_server /app/lemmy

CMD ["/app/lemmy"]

Also Lemmy developers are working on cross build - so it should be available in the future I hope :)

Also Lemmy developers are working on cross build - so it should be available in the future I hope :)

Great! That will make things so much easier. And thanks for the dockerfile, I will give this a try.