FROM alpine:3.7
MAINTAINER Disassembler <disassembler@dasm.cz>

RUN \
 # Install Java 1.8 JRE 
 apk --no-cache add openjdk8-jre-base paxctl \
 # Fix grsec attributes to loosen memory protection restrictions
 && paxctl -cm /usr/lib/jvm/java-1.8-openjdk/jre/bin/java \
 && paxctl -cm /usr/lib/jvm/java-1.8-openjdk/bin/java \
 # Cleanup
 && apk --no-cache del paxctl

RUN \
 # Download and install ActiveMQ
 wget http://archive.apache.org/dist/activemq/5.15.2/apache-activemq-5.15.2-bin.tar.gz -O /tmp/activemq.tgz \
 && tar xf /tmp/activemq.tgz -C /srv \
 && mv /srv/apache-activemq-5.15.2 /srv/activemq \
 && rm -f /tmp/activemq.tgz \
 # Create OS user
 && addgroup -S -g 61616 activemq \
 && adduser -S -u 61616 -h /srv/activemq -s /bin/false -g activemq -G activemq activemq \
 && mkdir /srv/activemq/tmp \
 && chown activemq:activemq /srv/activemq/tmp \
 # Configure Java heap size
 && sed -i "s/-Xms64M -Xmx1G/-Xms32M -Xmx256M/" /srv/activemq/bin/env \
 # Make start/stop script visible globally
 && ln -s /srv/activemq/bin/activemq /usr/local/bin/activemq

COPY docker/ /

VOLUME ["/srv/activemq/data"]
EXPOSE 61616

USER activemq
CMD ["activemq", "console"]