Добавить Dockerfile
This commit is contained in:
50
Dockerfile
Normal file
50
Dockerfile
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# ---- Stage 1: Fetch Mattermost + MostlyMatter ----
|
||||||
|
FROM debian:bookworm-slim AS fetcher
|
||||||
|
|
||||||
|
ARG MOSTLYMATTER_VERSION=v10.11.3
|
||||||
|
ARG MATTERMOST_VERSION=10.11.3
|
||||||
|
|
||||||
|
ARG MM_DOWNLOAD_URL=https://releases.mattermost.com/${MATTERMOST_VERSION}/mattermost-${MATTERMOST_VERSION}-linux-amd64.tar.gz
|
||||||
|
ARG MOSTLY_DOWNLOAD_URL=https://packages.framasoft.org/projects/mostlymatter/mostlymatter-amd64-${MOSTLYMATTER_VERSION}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
WORKDIR /mattermost
|
||||||
|
|
||||||
|
# Copy prepared Mattermost tree with MostlyMatter binary inside
|
||||||
|
COPY --from=fetcher /tmp/mattermost /mattermost
|
||||||
|
|
||||||
|
# Adjust permissions
|
||||||
|
RUN chown -R mattermost:mattermost /mattermost
|
||||||
|
|
||||||
|
USER mattermost
|
||||||
|
|
||||||
|
EXPOSE 8065
|
||||||
|
|
||||||
|
ENTRYPOINT ["/mattermost/bin/mostlymatter"]
|
||||||
|
CMD ["server"]
|
||||||
|
|
||||||
Reference in New Issue
Block a user