lemmy/docker/README.md
Enzo Nocera 8a05c8f8be
fix: Cross-compilation to ARM64 (#4142)
* feat(docker/docs): explain how building lemmy works

Signed-off-by: Enzo NOCERA <enzo@nocera.eu>

* feat: add arm build

* review: rename script & fix typo

* feat(ci): allow cross platform compilation

* feat(ci): prettier

* fix(docker): fix base image name

* fix: add dockerfile in CI path

Signed-off-by: Enzo Nocera <enzo@nocera.eu>

* fix(docker): fix runner name

* fix(docker): fix builder base image

* fix(docker): fix builder base image platform

* fix(docker): avoid using the wrapper adduser/addgroup

* feat: avoid adding the whole docker directory in the build context

---------

Signed-off-by: Enzo NOCERA <enzo@nocera.eu>
Signed-off-by: Enzo Nocera <enzo@nocera.eu>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Nutomic <me@nutomic.com>
2023-11-24 12:52:19 -05:00

745 B

Building Lemmy Images

Lemmy's images are meant to be built on linux/amd64, but they can be executed on both linux/amd64 and linux/arm64.

To do so we need to use a cross toolchain whose goal is to build from amd64 to arm64.

Namely, we need to link the lemmy_server with pq and openssl shared libraries and a few others, and they need to be in arm64, indeed.

The toolchain we use to cross-compile is specifically tailored for Lemmy's needs, see the image repository.

References