# ---- Stage 1: Fetch Mattermost + MostlyMatter ---- FROM debian:bookworm-slim AS fetcher ARG MOSTLYMATTER_VERSION=v11.2.0 ARG MATTERMOST_VERSION=11.2.0 #ARG MM_DOWNLOAD_URL=https://releases.mattermost.com/${MATTERMOST_VERSION}/mattermost-${MATTERMOST_VERSION}-linux-a> #ARG MOSTLY_DOWNLOAD_URL=https://packages.framasoft.org/projects/mostlymatter/mostlymatter-amd64-${MOSTLYMATTER_VER> ARG MM_DOWNLOAD_URL=http://192.168.1.50:8000/mattermost-11.2.0-linux-amd64.tar.gz ARG MOSTLY_DOWNLOAD_URL=http://192.168.1.50:8000/mostlymatter-amd64-v11.2.0 RUN apt-get update && apt-get install -y --no-install-recommends \ curl ca-certificates tar \ && rm -rf /var/lib/apt/lists/* WORKDIR /tmp # Download and extract official Mattermost release RUN curl -L $MM_DOWNLOAD_URL | tar -xz # Download MostlyMatter binary and overwrite Mattermost's binary RUN curl -L -o mostlymatter $MOSTLY_DOWNLOAD_URL && \ chmod +x mostlymatter && \ mv mostlymatter mattermost/bin/ # ---- Stage 2: Runtime container ---- FROM debian:bookworm-slim # Add runtime deps for Mattermost RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates tzdata \ && rm -rf /var/lib/apt/lists/* # Create mattermost user # RUN useradd --system --create-home --uid 2000 mattermost #RUN groupadd -r mattermost && useradd -r -g mattermost mattermost RUN useradd -r -u 1001 mattermost WORKDIR /opt/mattermost # Copy prepared Mattermost tree with MostlyMatter binary inside COPY --from=fetcher --chown=mattermost:mattermost /tmp/mattermost /opt/mattermost # COPY --from=fetcher /tmp/mattermost /mattermost # Adjust permissions RUN chown -R mattermost:mattermost /opt/mattermost #VOLUME ["/opt/mattermost/config", "/opt/mattermost/data", "/opt/mattermost/logs", "/opt/mattermost/plugins", "/opt/mattermost/client/plugins"] USER 1001 HEALTHCHECK --interval=30s --timeout=10s --retries=3 CMD curl -f http://localhost:8065/api/v4/system/ping || exit 1 EXPOSE 8065 ENTRYPOINT ["/opt/mattermost/bin/mostlymatter"] CMD ["server"]