Skip Navigation

Building Lemmy docker image for ARM64

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

Edit: Thanks to some advice in this thread, I was able to build the latest builds of Lemmy and Lemmy UI. If you want to use them you can here:
https://hub.docker.com/r/berrrnard/lemmy/tags
https://hub.docker.com/r/berrrnard/lemmy-ui/tags

4
4 comments
  • 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.

  • https://github.com/masquernya/lemmy-arm64

    Check out this repo I used it to build Lemmy docker images on ARM64