aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkballou <kballou@devnulllabs.io>2017-05-02 18:13:18 -0600
committerkballou <kballou@devnulllabs.io>2017-05-23 09:35:59 -0600
commit5b1f7286d1bd7bbb7b8b70e1d29c419c92be6c21 (patch)
treeae8eb682cc3a46139f32298eaf43f1f1eaeff68f
parentbf3fb4e869fc1218c00bacf9ff63c7871d479f64 (diff)
downloaddocker-erlang-5b1f7286d1bd7bbb7b8b70e1d29c419c92be6c21.tar.gz
docker-erlang-5b1f7286d1bd7bbb7b8b70e1d29c419c92be6c21.tar.xz
Add initial docker files
-rw-r--r--18/Dockerfile51
-rw-r--r--18/alpine/Dockerfile51
-rw-r--r--18/alpine/development/Dockerfile51
-rw-r--r--18/alpine/development/Makefile5
-rw-r--r--18/alpine/onbuild/Dockerfile51
-rw-r--r--18/development/Dockerfile51
-rw-r--r--18/development/Makefile5
-rw-r--r--18/onbuild/Dockerfile51
-rw-r--r--18/options6
-rw-r--r--19/Dockerfile51
-rw-r--r--19/alpine/Dockerfile51
-rw-r--r--19/alpine/development/Dockerfile51
-rw-r--r--19/alpine/development/Makefile5
-rw-r--r--19/alpine/onbuild/Dockerfile51
-rw-r--r--19/development/Dockerfile51
-rw-r--r--19/development/Makefile5
-rw-r--r--19/onbuild/Dockerfile51
-rw-r--r--19/options6
-rw-r--r--Makefile25
-rw-r--r--template/Dockerfile51
-rw-r--r--template/alpine/Dockerfile77
-rw-r--r--template/alpine/development/Dockerfile65
-rw-r--r--template/development/Dockerfile53
-rwxr-xr-xtemplate/generate.sh7
-rw-r--r--template/onbuild/Dockerfile12
25 files changed, 934 insertions, 0 deletions
diff --git a/18/Dockerfile b/18/Dockerfile
new file mode 100644
index 0000000..eb9769b
--- /dev/null
+++ b/18/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="18.3.4.4"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \
+ && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/18/alpine/Dockerfile b/18/alpine/Dockerfile
new file mode 100644
index 0000000..eb9769b
--- /dev/null
+++ b/18/alpine/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="18.3.4.4"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \
+ && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/18/alpine/development/Dockerfile b/18/alpine/development/Dockerfile
new file mode 100644
index 0000000..eb9769b
--- /dev/null
+++ b/18/alpine/development/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="18.3.4.4"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \
+ && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/18/alpine/development/Makefile b/18/alpine/development/Makefile
new file mode 100644
index 0000000..40938f8
--- /dev/null
+++ b/18/alpine/development/Makefile
@@ -0,0 +1,5 @@
+TAG=kennyballou/erlang-alpine-dev:18
+.PHONY: build
+
+build: Dockerfile
+ @docker build -t ${TAG} .
diff --git a/18/alpine/onbuild/Dockerfile b/18/alpine/onbuild/Dockerfile
new file mode 100644
index 0000000..eb9769b
--- /dev/null
+++ b/18/alpine/onbuild/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="18.3.4.4"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \
+ && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/18/development/Dockerfile b/18/development/Dockerfile
new file mode 100644
index 0000000..eb9769b
--- /dev/null
+++ b/18/development/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="18.3.4.4"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \
+ && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/18/development/Makefile b/18/development/Makefile
new file mode 100644
index 0000000..6525711
--- /dev/null
+++ b/18/development/Makefile
@@ -0,0 +1,5 @@
+TAG=kennyballou/erlang-dev:18
+.PHONY: build
+
+build: Dockerfile
+ @docker build -t ${TAG} .
diff --git a/18/onbuild/Dockerfile b/18/onbuild/Dockerfile
new file mode 100644
index 0000000..eb9769b
--- /dev/null
+++ b/18/onbuild/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="18.3.4.4"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \
+ && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/18/options b/18/options
new file mode 100644
index 0000000..545afe2
--- /dev/null
+++ b/18/options
@@ -0,0 +1,6 @@
+OTP_VERSION=18.3.4.4
+OTP_SRC_SUM=3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04
+REBAR_VERSION=2.6.2
+REBAR_SRC_SUM=ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400
+REBAR3_VERSION=3.2.0
+REBAR3_SRC_SUM=78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455
diff --git a/19/Dockerfile b/19/Dockerfile
new file mode 100644
index 0000000..fdf168a
--- /dev/null
+++ b/19/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="19.0"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \
+ && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/19/alpine/Dockerfile b/19/alpine/Dockerfile
new file mode 100644
index 0000000..fdf168a
--- /dev/null
+++ b/19/alpine/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="19.0"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \
+ && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/19/alpine/development/Dockerfile b/19/alpine/development/Dockerfile
new file mode 100644
index 0000000..fdf168a
--- /dev/null
+++ b/19/alpine/development/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="19.0"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \
+ && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/19/alpine/development/Makefile b/19/alpine/development/Makefile
new file mode 100644
index 0000000..d63b016
--- /dev/null
+++ b/19/alpine/development/Makefile
@@ -0,0 +1,5 @@
+TAG=kennyballou/erlang-alpine-dev:19
+.PHONY: build
+
+build: Dockerfile
+ @docker build -t ${TAG} .
diff --git a/19/alpine/onbuild/Dockerfile b/19/alpine/onbuild/Dockerfile
new file mode 100644
index 0000000..fdf168a
--- /dev/null
+++ b/19/alpine/onbuild/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="19.0"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \
+ && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/19/development/Dockerfile b/19/development/Dockerfile
new file mode 100644
index 0000000..fdf168a
--- /dev/null
+++ b/19/development/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="19.0"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \
+ && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/19/development/Makefile b/19/development/Makefile
new file mode 100644
index 0000000..3f3850a
--- /dev/null
+++ b/19/development/Makefile
@@ -0,0 +1,5 @@
+TAG=kennyballou/erlang-dev:19
+.PHONY: build
+
+build: Dockerfile
+ @docker build -t ${TAG} .
diff --git a/19/onbuild/Dockerfile b/19/onbuild/Dockerfile
new file mode 100644
index 0000000..fdf168a
--- /dev/null
+++ b/19/onbuild/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="19.0"
+ENV REBAR_VERSION="2.6.2"
+ENV REBAR3_VERSION="3.2.0"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \
+ && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=/home/kb/workspace/docker-erlang ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/19/options b/19/options
new file mode 100644
index 0000000..04a634d
--- /dev/null
+++ b/19/options
@@ -0,0 +1,6 @@
+OTP_VERSION=19.0
+OTP_SRC_SUM=107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7
+REBAR_VERSION=2.6.2
+REBAR_SRC_SUM=ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400
+REBAR3_VERSION=3.2.0
+REBAR3_SRC_SUM=78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455
diff --git a/Makefile b/Makefile
index e69de29..b9fa6ac 100644
--- a/Makefile
+++ b/Makefile
@@ -0,0 +1,25 @@
+DOCKERFILES_SRC:=template/Dockerfile
+
+DOCKERFILES:= \
+ 18/Dockerfile \
+ 18/onbuild/Dockerfile \
+ 18/development/Dockerfile \
+ 18/alpine/Dockerfile \
+ 18/alpine/onbuild/Dockerfile \
+ 18/alpine/development/Dockerfile \
+ 19/Dockerfile \
+ 19/onbuild/Dockerfile \
+ 19/development/Dockerfile \
+ 19/alpine/Dockerfile \
+ 19/alpine/onbuild/Dockerfile \
+ 19/alpine/development/Dockerfile
+
+.PHONY: all
+all: ${DOCKERFILES}
+
+$(DOCKERFILES): template/Dockerfile 18/options 19/options
+ bash template/generate.sh $(shell echo $@ | cut -d '/' -f1)/options $^ > $@
+
+.PHONY: clean
+clean:
+ -rm $(DOCKERFILES)
diff --git a/template/Dockerfile b/template/Dockerfile
new file mode 100644
index 0000000..163f11f
--- /dev/null
+++ b/template/Dockerfile
@@ -0,0 +1,51 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VERSION="${OTP_VERSION}"
+ENV REBAR_VERSION="${REBAR_VERSION}"
+ENV REBAR3_VERSION="${REBAR3_VERSION}"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && curl -fSL "https://github.com/erlang/otp/archive/OTP-${OTP_VERSION}.tar.gz" -o otp-src.tar.gz \
+ && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \
+ && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \
+ && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=$PWD ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && yum -y groups erase "Development Tools"
+
+CMD ["erl"]
diff --git a/template/alpine/Dockerfile b/template/alpine/Dockerfile
new file mode 100644
index 0000000..914f6e2
--- /dev/null
+++ b/template/alpine/Dockerfile
@@ -0,0 +1,77 @@
+# DOCKER-VERSION 1.9.1
+FROM alpine:3.4
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VER="${OTP_VER}"
+ENV REBAR_VERSION="${REBAR_VERSION}"
+ENV REBAR3_VERSION="${REBAR3_VERSION}"
+
+RUN apk update \
+ && apk add \
+ autoconf \
+ bash \
+ curl \
+ gcc \
+ libedit \
+ m4 \
+ make \
+ musl-dev \
+ ncurses-dev \
+ ncurses-libs \
+ ncurses-terminfo \
+ ncurses-terminfo-base \
+ openssl-dev \
+ openssl \
+ perl \
+ tar \
+ unixodbc-dev \
+ && OTP_SRC_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VER}.tar.gz" \
+ && curl -fSL "$OTP_SRC_URL" -o otp-src.tar.gz \
+ && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && REBAR_SRC_URL="https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "$REBAR_SRC_URL" -o rebar-src.tar.gz \
+ && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && REBAR3_SRC_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "$REBAR3_SRC_URL" -o rebar3-src.tar.gz \
+ && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=$PWD ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src \
+ && apk del \
+ autoconf \
+ bash \
+ curl \
+ gcc \
+ m4 \
+ make \
+ musl-dev \
+ ncurses-dev \
+ openssl-dev \
+ tar \
+ unixodbc-dev
+
+CMD ["erl"]
diff --git a/template/alpine/development/Dockerfile b/template/alpine/development/Dockerfile
new file mode 100644
index 0000000..c6e55cd
--- /dev/null
+++ b/template/alpine/development/Dockerfile
@@ -0,0 +1,65 @@
+# DOCKER-VERSION 1.9.1
+FROM alpine:3.4
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VER="${OTP_VER}"
+ENV REBAR_VERSION="${REBAR_VERSION}"
+ENV REBAR3_VERSION="${REBAR3_VERSION}"
+
+RUN apk update \
+ && apk add \
+ autoconf \
+ bash \
+ curl \
+ gcc \
+ libedit \
+ m4 \
+ make \
+ musl-dev \
+ ncurses-dev \
+ ncurses-libs \
+ ncurses-terminfo \
+ ncurses-terminfo-base \
+ openssl-dev \
+ openssl \
+ perl \
+ tar \
+ unixodbc-dev \
+ && OTP_SRC_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VER}.tar.gz" \
+ && curl -fSL "$OTP_SRC_URL" -o otp-src.tar.gz \
+ && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && REBAR_SRC_URL="https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "$REBAR_SRC_URL" -o rebar-src.tar.gz \
+ && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && REBAR3_SRC_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "$REBAR3_SRC_URL" -o rebar3-src.tar.gz \
+ && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=$PWD ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src
+
+CMD ["erl"]
diff --git a/template/development/Dockerfile b/template/development/Dockerfile
new file mode 100644
index 0000000..3515a93
--- /dev/null
+++ b/template/development/Dockerfile
@@ -0,0 +1,53 @@
+# DOCKER-VERSION 1.9.1
+FROM centos:7
+MAINTAINER kballou@devnulllabs.io
+
+ENV LANG="en_US.UTF-8"
+ENV OTP_VER="${OTP_VER}"
+ENV REBAR_VERSION="${REBAR_VERSION}"
+ENV REBAR3_VERSION="${REBAR3_VERSION}"
+
+RUN set -xe \
+ && yum -y groups install "Development Tools" \
+ && yum -y install ncurses \
+ ncurses-devel \
+ unixODBC \
+ unixODBC-devel \
+ openssl-devel \
+ && OTP_SRC_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VER}.tar.gz" \
+ && curl -fSL "$OTP_SRC_URL" -o otp-src.tar.gz \
+ && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \
+ && mkdir -p /usr/src/otp-src \
+ && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \
+ && rm otp-src.tar.gz \
+ && cd /usr/src/otp-src \
+ && ./otp_build autoconf \
+ && ./configure \
+ && make -j 4 \
+ && make install \
+ && find /usr/local -name examples | xargs rm -rf \
+ && cd /usr/src \
+ && rm -rf /usr/src/otp-src \
+ && REBAR_SRC_URL="https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" \
+ && mkdir -p /usr/src/rebar-src \
+ && curl -fSL "$REBAR_SRC_URL" -o rebar-src.tar.gz \
+ && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \
+ && rm rebar-src.tar.gz \
+ && cd /usr/src/rebar-src \
+ && ./bootstrap \
+ && install -v ./rebar /usr/local/bin \
+ && cd /usr/src \
+ && rm -rf /usr/src/rebar-src \
+ && REBAR3_SRC_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" \
+ && mkdir -p /usr/src/rebar3-src \
+ && curl -fSL "$REBAR3_SRC_URL" -o rebar3-src.tar.gz \
+ && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \
+ && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
+ && rm rebar3-src.tar.gz \
+ && cd /usr/src/rebar3-src \
+ && HOME=$PWD ./bootstrap \
+ && install -v ./rebar3 /usr/local/bin \
+ && rm -rf /usr/src/rebar3-src
+
+CMD ["erl"]
diff --git a/template/generate.sh b/template/generate.sh
new file mode 100755
index 0000000..b1e1b48
--- /dev/null
+++ b/template/generate.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Template Generation Script
+
+VARIABLES=$1
+TEMPLATE=$2
+
+env $(cat ${VARIABLES} | xargs) envsubst < ${TEMPLATE}
diff --git a/template/onbuild/Dockerfile b/template/onbuild/Dockerfile
new file mode 100644
index 0000000..c8b3db9
--- /dev/null
+++ b/template/onbuild/Dockerfile
@@ -0,0 +1,12 @@
+FROM kennyballou/erlang:${OTP_VER}
+MAINTAINER kballou@devnulllabs.io
+
+RUN mkdir -p /usr/src/app
+WORKDIR /usr/src/app
+
+ONBUILD COPY rebar.config /usr/src/app/
+ONBUILD RUN rebar3 update
+ONBUILD COPY . /usr/src/app
+ONBUILD RUN rebar3 release
+
+CMD ["rebar3", "shell"]