-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
62 lines (47 loc) · 2.1 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
FROM openjdk:11.0.3-jdk-stretch
LABEL maintainer="[email protected]"
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
locales wget curl less vim git build-essential automake \
xmlto libxml2-dev libxslt1-dev python-dev \
openssl libssl-dev libncurses5-dev rsync htop
# Set the locale
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
ARG OTP_VERSION
ENV OTP_VERSION ${OTP_VERSION:-22.0}
# install rebar
ADD https://github.com/rebar/rebar/wiki/rebar /bin/rebar
RUN chmod +x /bin/rebar
# install Kerl
ADD https://raw.githubusercontent.com/kerl/kerl/master/kerl /bin/kerl
RUN chmod +x /bin/kerl
# build Erlang
ENV KERL_CONFIGURE_OPTIONS --with-ssl=/usr/include/openssl --without-javac --enable-shared-zlib --enable-dynamic-ssl-lib --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll
RUN /bin/kerl build $OTP_VERSION $OTP_VERSION
# install Erlang
RUN /bin/kerl install $OTP_VERSION /opt/kerl/$OTP_VERSION
# activate erlang for bash
RUN echo ". /opt/kerl/$OTP_VERSION/activate" >> /etc/bash.bashrc
# download and build elixir
ARG ELIXIR_VERSION
ENV ELIXIR_VERSION ${ELIXIR_VERSION:-1.8.1}
ADD https://github.com/elixir-lang/elixir/archive/v${ELIXIR_VERSION}.tar.gz /opt/elixir-v${ELIXIR_VERSION}.tar.gz
WORKDIR /opt
RUN tar xzf elixir-v${ELIXIR_VERSION}.tar.gz
COPY build-elixir.sh /opt/elixir-$ELIXIR_VERSION/build-elixir.sh
RUN chmod +x /opt/elixir-$ELIXIR_VERSION/build-elixir.sh
WORKDIR /opt/elixir-$ELIXIR_VERSION
RUN ./build-elixir.sh
ENV PATH $PATH:/opt/elixir-${ELIXIR_VERSION}/bin
# checkout all the projects using https://github.com/rabbitmq/rabbitmq-public-umbrella
RUN mkdir /projects
WORKDIR /projects
RUN git clone https://github.com/rabbitmq/rabbitmq-public-umbrella.git
WORKDIR /projects/rabbitmq-public-umbrella
COPY build-umbrella.sh /projects/rabbitmq-public-umbrella/
RUN chmod +x /projects/rabbitmq-public-umbrella/build-umbrella.sh
RUN ./build-umbrella.sh
WORKDIR /projects/rabbitmq-public-umbrella/deps
CMD ["bash"]