57 lines
2.2 KiB
Docker
57 lines
2.2 KiB
Docker
# ---- 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 /opt/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 mattermost
|
|
|
|
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"] |