fix: use debian base and wget for stalwart
Build Stalwart Mail Yolk / build (push) Failing after 13m20s

This commit is contained in:
2026-06-16 00:48:02 +03:00
parent 58b378b194
commit 0c5382ccbe
2 changed files with 29 additions and 14 deletions
+25 -11
View File
@@ -1,4 +1,4 @@
FROM ghcr.io/stalwartlabs/mail-server:latest FROM debian:bookworm-slim
LABEL author="RefoselTeam" maintainer="admin@refoseltw.ru" LABEL author="RefoselTeam" maintainer="admin@refoseltw.ru"
@@ -7,27 +7,41 @@ LABEL org.opencontainers.image.licenses=MIT
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
# Install additional tools # Install dependencies
RUN apt update \ RUN apt-get update \
&& apt upgrade -y \ && apt-get upgrade -y \
&& apt install -y \ && apt-get install -y \
ca-certificates \
curl \ curl \
git \ git \
tini \ tini \
&& apt clean \ wget \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Create directories # Create directories first
RUN mkdir -p /home/container/stalwart-mail/data \ RUN mkdir -p /opt/stalwart-mail/bin \
&& mkdir -p /home/container/stalwart-mail/certs \ && mkdir -p /opt/stalwart-mail/etc \
&& mkdir -p /home/container/stalwart-mail/logs && mkdir -p /opt/stalwart-mail/data \
&& mkdir -p /opt/stalwart-mail/logs
# Download and install Stalwart Mail Server
ARG STALWART_VERSION=0.16.8
RUN wget -q -O /tmp/stalwart.tar.gz \
"https://github.com/stalwartlabs/stalwart/releases/download/v${STALWART_VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz" \
&& tar -xzf /tmp/stalwart.tar.gz -C /tmp/ \
&& ls -la /tmp/ \
&& find /tmp -maxdepth 2 -name "stalwart*" \
&& cp /tmp/stalwart /opt/stalwart-mail/bin/stalwart-mail \
&& chmod +x /opt/stalwart-mail/bin/stalwart-mail \
&& rm -rf /tmp/*
EXPOSE 8080 465 587 993 995 4190 EXPOSE 8080 465 587 993 995 4190
STOPSIGNAL SIGINT STOPSIGNAL SIGINT
COPY --chown=root:root ./entrypoint.sh /entrypoint.sh COPY --chown=root:root ./entrypoint.sh /entrypoint.sh
COPY --chown=root:root ./config.toml /entrypoint-config.toml COPY --chown=root:root ./config.toml /opt/stalwart-mail/etc/config.toml
RUN chmod +x /entrypoint.sh RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"] ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+4 -3
View File
@@ -11,13 +11,14 @@ export TZ
cd /home/container || exit 1 cd /home/container || exit 1
# Stalwart paths # Stalwart paths
STALWART_HOME="/var/lib/stalwart-mail" STALWART_HOME="/opt/stalwart-mail"
STALWART_CONFIG="/etc/stalwart-mail/config.toml" STALWART_CONFIG="${STALWART_HOME}/etc/config.toml"
STALWART_BIN="${STALWART_HOME}/bin/stalwart-mail"
# Create config from template if not exists # Create config from template if not exists
if [ ! -f "${STALWART_CONFIG}" ]; then if [ ! -f "${STALWART_CONFIG}" ]; then
echo "Generating Stalwart configuration..." echo "Generating Stalwart configuration..."
cp /entrypoint-config.toml "${STALWART_CONFIG}" cp /opt/stalwart-mail/etc/config.toml "${STALWART_CONFIG}"
# Replace placeholders with environment variables # Replace placeholders with environment variables
sed -i "s|{{MAIL_DOMAIN}}|${MAIL_DOMAIN:-mail.example.com}|g" "${STALWART_CONFIG}" sed -i "s|{{MAIL_DOMAIN}}|${MAIL_DOMAIN:-mail.example.com}|g" "${STALWART_CONFIG}"