Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 34 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
ARG ACTIVEMQ_UID=100
ARG ACTIVEMQ_GID=101
# renovate: datasource=custom.activemq depName=apache/activemq extractVersion=^(?<version>.*)/$
ARG ACTIVEMQ_VERSION=5.18.5
ARG BASE_IMAGE=alpine:3.20
ARG BUILD_DIR=/build

FROM $BASE_IMAGE AS acquire

ARG ACTIVEMQ_UID
ARG ACTIVEMQ_GID
ARG ACTIVEMQ_VERSION
ARG BUILD_DIR

ADD --link --chown=$ACTIVEMQ_UID:$ACTIVEMQ_GID http://archive.apache.org/dist/activemq/${ACTIVEMQ_VERSION}/apache-activemq-${ACTIVEMQ_VERSION}-bin.tar.gz $BUILD_DIR/

# https://github.com/njmittet/alpine-activemq/blob/master/Dockerfile
FROM alpine:3.20
FROM $BASE_IMAGE

ENV OPENJDK_VERSION=11
# renovate: datasource=custom.activemq depName=apache/activemq extractVersion=^(?<version>.*)/$
ENV ACTIVEMQ_VERSION=5.18.5
ARG ACTIVEMQ_VERSION
ENV ACTIVEMQ_VERSION=$ACTIVEMQ_VERSION

# which ports...?
#EXPOSE 1883 5672 8161 61613 61614 61616
Expand All @@ -19,22 +35,26 @@ RUN apk add --no-cache \
ENV JAVA_HOME="/usr/lib/jvm/java-${OPENJDK_VERSION}-openjdk"
ENV PATH="${JAVA_HOME}/bin:${PATH}"

# Run non privileged
RUN addgroup --system activemq \
&& adduser --system activemq activemq

RUN curl --silent --fail -OL http://archive.apache.org/dist/activemq/${ACTIVEMQ_VERSION}/apache-activemq-${ACTIVEMQ_VERSION}-bin.tar.gz \
&& tar -zxvf apache-activemq-${ACTIVEMQ_VERSION}-bin.tar.gz -C /opt \
&& ln -s /opt/apache-activemq-${ACTIVEMQ_VERSION} /opt/activemq \
&& sed -i 's/127.0.0.1/0.0.0.0/g' /opt/activemq/conf/jetty.xml \
&& chown -R activemq:activemq /opt/apache-activemq-${ACTIVEMQ_VERSION} /opt/activemq \
&& rm /apache-activemq-${ACTIVEMQ_VERSION}-bin.tar.gz
ARG ACTIVEMQ_UID
ARG ACTIVEMQ_GID

COPY --chown=activemq:activemq activemq.xml /opt/activemq/conf/
# Run non privileged
RUN addgroup --system -g $ACTIVEMQ_GID activemq \
&& adduser --system -u $ACTIVEMQ_UID activemq activemq

USER activemq

ARG BUILD_DIR
WORKDIR /opt/activemq
RUN \
--mount=type=bind,target=$BUILD_DIR,source=$BUILD_DIR,from=acquire \
<<EOS
set -e
tar -zxvf $BUILD_DIR/apache-activemq-${ACTIVEMQ_VERSION}-bin.tar.gz --strip-components 1
sed -i 's/127.0.0.1/0.0.0.0/g' conf/jetty.xml
EOS

COPY --chown=$ACTIVEMQ_UID:$ACTIVEMQ_GID activemq.xml conf/

COPY healthcheck.sh /bin/
HEALTHCHECK --interval=10s --timeout=10s --start-period=5s --retries=3 \
Expand Down
Loading