lemmy/docker
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
..
builders/lemmy-builder-arm64 fix: Cross-compilation to ARM64 (#4142) 2023-11-24 12:52:19 -05:00
federation Add API tests for purge user and purge post (#4183) 2023-11-22 10:15:06 -05:00
docker_db_backup.sh make shebangs posix compliant (#2974) 2023-06-08 15:38:26 -04:00
docker_update.sh Avoid using proxy for pictrs requests (fixes #3489) (#4072) 2023-10-20 11:09:34 -04:00
docker-compose.yml Avoid using proxy for pictrs requests (fixes #3489) (#4072) 2023-10-20 11:09:34 -04:00
Dockerfile fix: Cross-compilation to ARM64 (#4142) 2023-11-24 12:52:19 -05:00
lemmy.hjson Removing one other cache_remote_images. (#4151) 2023-11-14 11:09:35 +01:00
nginx.conf Adding /version route. Fixes #2914 (#4059) 2023-10-24 10:49:52 +02:00
README.md fix: Cross-compilation to ARM64 (#4142) 2023-11-24 12:52:19 -05:00
test_deploy.sh Adding current domain from settings to CORs. (#3231) 2023-06-20 20:29:48 -04:00

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