mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
* Bump base image to Ubuntu 24 * Fix Noble dependencies * Fix docker image build --------- Co-authored-by: Mattermost Build <build@mattermost.com>
54 lines
1.9 KiB
Docker
54 lines
1.9 KiB
Docker
FROM ubuntu:noble-20240605@sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30
|
|
|
|
# Setting bash as our shell, and enabling pipefail option
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|
|
|
# Some ENV variables
|
|
ENV PATH="/mattermost/bin:${PATH}"
|
|
|
|
# Build Arguments
|
|
ARG PUID=2000
|
|
ARG PGID=2000
|
|
# MM_PACKAGE build arguments controls which version of mattermost to install, defaults to latest stable enterprise
|
|
# i.e. https://releases.mattermost.com/9.7.1/mattermost-9.7.1-linux-amd64.tar.gz
|
|
ARG MM_PACKAGE="https://latest.mattermost.com/mattermost-enterprise-linux"
|
|
|
|
# # Install needed packages and indirect dependencies
|
|
RUN apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
|
|
ca-certificates \
|
|
curl \
|
|
media-types \
|
|
mailcap \
|
|
unrtf \
|
|
wv \
|
|
poppler-utils \
|
|
tidy \
|
|
tzdata \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set mattermost group/user and download Mattermost
|
|
RUN mkdir -p /mattermost/data /mattermost/plugins /mattermost/client/plugins \
|
|
&& groupadd --gid ${PGID} mattermost \
|
|
&& useradd --uid ${PUID} --gid ${PGID} --comment "" --home-dir /mattermost mattermost \
|
|
&& curl -L $MM_PACKAGE | tar -xvz \
|
|
&& chown -R mattermost:mattermost /mattermost /mattermost/data /mattermost/plugins /mattermost/client/plugins
|
|
|
|
# We should refrain from running as privileged user
|
|
USER mattermost
|
|
|
|
# Healthcheck to make sure container is ready
|
|
HEALTHCHECK --interval=30s --timeout=10s \
|
|
CMD curl -f http://localhost:8065/api/v4/system/ping || exit 1
|
|
|
|
# Configure entrypoint and command with proper permissions
|
|
COPY --chown=mattermost:mattermost --chmod=765 entrypoint.sh /
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
WORKDIR /mattermost
|
|
CMD ["mattermost"]
|
|
|
|
EXPOSE 8065 8067 8074 8075
|
|
|
|
# Declare volumes for mount point directories
|
|
VOLUME ["/mattermost/data", "/mattermost/logs", "/mattermost/config", "/mattermost/plugins", "/mattermost/client/plugins"]
|