mirror of
https://github.com/optim-enterprises-bv/Mailu.git
synced 2025-11-01 18:47:52 +00:00
Fixed "core" Docker image to allow x86_32 building, updated documentation for SSE4.2 requirement.
- "core" Docker image : Switched from uname -m architecture detection to apk --print-arch to better reflect the binary distribution architecture instead of the current Kernel architecture. This allows building a i686 linux image on a amd64 machine. - "core" Docker image : Adding rust toolchain in dependancies to allow python modules to build properly on uncommonly supported architectures (like i686) - Documentation : Updated setup requirement to mention SSE4.2 requirement - Documentation : Updated faq with the full explanation for the SSE4.2 requirement and the reference to the mailu issue.
This commit is contained in:
@@ -15,7 +15,7 @@ RUN set -euxo pipefail \
|
|||||||
; addgroup -Sg ${MAILU_GID} mailu \
|
; addgroup -Sg ${MAILU_GID} mailu \
|
||||||
; adduser -Sg ${MAILU_UID} -G mailu -h /app -g "mailu app" -s /bin/bash mailu \
|
; adduser -Sg ${MAILU_UID} -G mailu -h /app -g "mailu app" -s /bin/bash mailu \
|
||||||
; apk add --no-cache bash ca-certificates curl python3 tzdata \
|
; apk add --no-cache bash ca-certificates curl python3 tzdata \
|
||||||
; ! [[ "$(uname -m)" == x86_64 ]] \
|
; ! [[ "$(apk --print-arch)" == x86_64 ]] \
|
||||||
|| apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing hardened-malloc
|
|| apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing hardened-malloc
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
@@ -52,10 +52,10 @@ ENV \
|
|||||||
SNUFFLEUPAGUS_URL="https://github.com/jvoisin/snuffleupagus/archive/refs/tags/v${SNUFFLEUPAGUS_VERSION}.tar.gz"
|
SNUFFLEUPAGUS_URL="https://github.com/jvoisin/snuffleupagus/archive/refs/tags/v${SNUFFLEUPAGUS_VERSION}.tar.gz"
|
||||||
|
|
||||||
RUN set -euxo pipefail \
|
RUN set -euxo pipefail \
|
||||||
; machine="$(uname -m)" \
|
; machine="$(apk --print-arch)" \
|
||||||
; deps="build-base gcc libffi-dev python3-dev mariadb-dev" \
|
; deps="build-base gcc libffi-dev python3-dev mariadb-dev" \
|
||||||
; [[ "${machine}" != x86_64 ]] && \
|
; [[ "${machine}" != x86_64 ]] && \
|
||||||
deps="${deps} cargo git libretls-dev mariadb-connector-c-dev postgresql-dev" \
|
deps="${deps} rust cargo git libretls-dev mariadb-connector-c-dev postgresql-dev" \
|
||||||
; apk add --virtual .build-deps ${deps} \
|
; apk add --virtual .build-deps ${deps} \
|
||||||
; [[ "${machine}" == armv7* ]] && \
|
; [[ "${machine}" == armv7* ]] && \
|
||||||
mkdir -p /root/.cargo/registry/index && \
|
mkdir -p /root/.cargo/registry/index && \
|
||||||
|
|||||||
13
docs/faq.rst
13
docs/faq.rst
@@ -996,3 +996,16 @@ If the admin container is `unable to connect to an external MariaDB database due
|
|||||||
MariaDB has no support for utf8mb4_0900_ai_ci which is the new default since MySQL version 8.0.
|
MariaDB has no support for utf8mb4_0900_ai_ci which is the new default since MySQL version 8.0.
|
||||||
|
|
||||||
.. _`unable to connect to an external MariaDB database due to incompatible collation`: https://github.com/Mailu/Mailu/issues/3449
|
.. _`unable to connect to an external MariaDB database due to incompatible collation`: https://github.com/Mailu/Mailu/issues/3449
|
||||||
|
|
||||||
|
Why is Rspamd giving me an "Illegal instruction" error ?
|
||||||
|
`````````````````````````````````````````````````````````
|
||||||
|
|
||||||
|
On Linux amd64 (x84_64), if the antispam container is crashing and gives you an `Illegal instruction` error, you may have a CPU that lacks support of the ``SSE4.2`` instruction set.
|
||||||
|
The more modern and FOSS ``vectorscan`` library used by rspamd superseeded the now closed source Intel ``hyperscan`` library in Alpine Linux, and since August 2024 it requires the ``SSE4.2`` instruction set to work properly.
|
||||||
|
|
||||||
|
Pre-2013 Intel Atom CPUs (Like N2800 or D425), Intel pre-Nehalem architectures and AMD pre-Bulldozer architectures does not support ``SSE4.2``.
|
||||||
|
|
||||||
|
A workaround to this issue is to use a x86_32 (or i686) version of rspamd, because the ``vectorscan`` library is only used on 64-bit capable systems.
|
||||||
|
Note that this may stop working in the future, as 32-bit software support is being progressively dropped.
|
||||||
|
|
||||||
|
*Issue reference:* `3713`_.
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ linux/arm64v8 or linux/armv7 hardware, so it
|
|||||||
should run on pretty much any cloud server as long as enough power is
|
should run on pretty much any cloud server as long as enough power is
|
||||||
provided.
|
provided.
|
||||||
|
|
||||||
|
On x86_64, check that your processor supports the ``SSE4.2`` instruction set.
|
||||||
|
For example, pre-2013 Intel Atom CPUs lacks ``SSE4.2`` support. See :ref:`faq`.
|
||||||
|
|
||||||
You should also have at least a DNS hostname and a DNS name for receiving
|
You should also have at least a DNS hostname and a DNS name for receiving
|
||||||
emails. Some instructions are provided on the matter in the article
|
emails. Some instructions are provided on the matter in the article
|
||||||
:ref:`dns_setup`.
|
:ref:`dns_setup`.
|
||||||
|
|||||||
Reference in New Issue
Block a user