fuel-ccp-rabbitmq/docker/rabbitmq/Dockerfile.j2

37 lines
1.5 KiB
Django/Jinja

FROM {{ image_spec("base-tools") }}
MAINTAINER {{ maintainer }}
# Choosing erlang version explicity, so we will not have a lot of GUI libraries
{% set erlang_deps = 'erlang-nox erlang-base-hipe' %}
# Runtime deps of rabbitmq
{% set rabbit_run_deps = 'socat logrotate' %}
# Manually managing dependencies, as we don't yet have APT repos with proper versions
# of rabbitmq and autocluster.
RUN apt-get install -t jessie-backports -y --no-install-recommends \
{{ erlang_deps }} {{ rabbit_run_deps }} \
&& apt-get clean
# We need at least 3.6.6, as it'll contain https://github.com/rabbitmq/rabbitmq-server/pull/892
COPY {{ render('sources.list.debian.j2') }} /etc/apt/sources.list.d/rabbitmq.list
RUN apt-key adv --recv-keys --keyserver {{ url.rabbitmq.debian.keyserver }} \
{{ url.rabbitmq.debian.keyid }} \
&& apt-get update \
&& apt-get install -y rabbitmq-server={{ rabbitmq_version }} \
&& rm -rf /var/lib/rabbitmq/*
# `cp` is needed until https://github.com/rabbitmq/rabbitmq-server/pull/1016 is merged
RUN curl -Lo /tmp/rabbitmq-autocluster.deb {{ url.autocluster.provider }}/rabbitmq-autocluster_{{ autocluster_version }}_all.deb \
&& dpkg -i /tmp/rabbitmq-autocluster.deb \
&& cp -v /usr/lib/rabbitmq/plugins/*.ez /usr/lib/rabbitmq/lib/rabbitmq_server-*/plugins/
COPY rabbitmq_sudoers /etc/sudoers.d/rabbitmq_sudoers
RUN chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/rabbitmq_sudoers \
&& usermod -a -G microservices rabbitmq \
&& chown -R rabbitmq: /var/lib/rabbitmq /etc/rabbitmq
USER rabbitmq