From dd7e30a61891cd2e946f26cb2eff14da94a12db6 Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Mon, 4 Aug 2014 13:31:06 +0200 Subject: [PATCH 1/7] Docker POC. --- Dockerfile | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3c7d163 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM debian:7.5 + +MAINTAINER + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update +RUN apt-get -q install -y erlang make git wget + +RUN useradd -d /opt/fipes fipes + + +ADD Makefile /opt/fipes/ +ADD erlang.mk /opt/fipes/ +ADD include /opt/fipes/ +ADD priv /opt/fipes/ +ADD public /opt/fipes/ +ADD src /opt/fipes/src + +RUN chown -R fipes:fipes /opt/fipes + +USER fipes +RUN cd /opt/fipes && make + +CMD cd /opt/fipes/ && HOME=/opt/fipes erl -sname fipes@localhost -pa ebin -pa deps/*/ebin -boot start_sasl -s fipes + +EXPOSE 3473 From 3a3c62a244bbb6a39134cf1e441f84944586581c Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Mon, 4 Aug 2014 21:38:35 +0200 Subject: [PATCH 2/7] The docker way. --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index de0fd8e..a0bcf12 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,20 @@ and launch the server with: $ make dev +### Docker + +The fipes service can be handle by docker. + +Build the image : + + docker build -t fipes . + +Run the service : + + docker run -t -d -u fipes -p 3473:3473 fipes + +Now, the service run on the port 3473, you should plug it to something wich handle SNI and Websocket, like Nginx or HAproxy. + ## Bugs/Pitfalls * Fipes is not p2p. However no data is stored on the server From c9ef31d2865b2c9d0aef0b2f90f5bfb5b4c8a363 Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Mon, 4 Aug 2014 21:49:59 +0200 Subject: [PATCH 3/7] Fix: don't mess the copy step. --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3c7d163..0ea29ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,9 +12,9 @@ RUN useradd -d /opt/fipes fipes ADD Makefile /opt/fipes/ ADD erlang.mk /opt/fipes/ -ADD include /opt/fipes/ -ADD priv /opt/fipes/ -ADD public /opt/fipes/ +ADD include /opt/fipes/include +ADD priv /opt/fipes/priv +ADD public /opt/fipes/public ADD src /opt/fipes/src RUN chown -R fipes:fipes /opt/fipes From 3ddb5930b6edd8b0e82c391e36eefb2f610bec6a Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Mon, 4 Aug 2014 21:50:23 +0200 Subject: [PATCH 4/7] Clean is cleaner. --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 0ea29ed..4bbc146 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt-get update RUN apt-get -q install -y erlang make git wget +RUN apt-get clean RUN useradd -d /opt/fipes fipes From 43c64d54e9ed92349c7dc4d04ed4fdfd502360a6 Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Mon, 4 Aug 2014 23:07:22 +0200 Subject: [PATCH 5/7] Fix: nox, full erlang package is madness. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4bbc146..d2ad66c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ MAINTAINER ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -RUN apt-get -q install -y erlang make git wget +RUN apt-get -q install -y erlang-nox make git wget RUN apt-get clean RUN useradd -d /opt/fipes fipes From b534d0adf856e9960c4f08892ae49c6e9e180e05 Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Tue, 5 Aug 2014 23:13:02 +0200 Subject: [PATCH 6/7] Fix: default user is set in dthe Dockerfile. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a0bcf12..e1bab2b 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ Build the image : Run the service : - docker run -t -d -u fipes -p 3473:3473 fipes + docker run -t -d -p 3473:3473 fipes Now, the service run on the port 3473, you should plug it to something wich handle SNI and Websocket, like Nginx or HAproxy. From 5c9e0604834277d28750b5778368f04e44b9ef34 Mon Sep 17 00:00:00 2001 From: Mathieu Lecarme Date: Tue, 28 Apr 2015 21:54:02 +0200 Subject: [PATCH 7/7] Cleanup and upgrade to Jessie. --- Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index d2ad66c..bb532c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ -FROM debian:7.5 +FROM debian:jessie MAINTAINER ENV DEBIAN_FRONTEND noninteractive -RUN apt-get update -RUN apt-get -q install -y erlang-nox make git wget -RUN apt-get clean +RUN apt-get update && \ + apt-get -q install -y erlang-nox make git wget && \ + apt-get clean RUN useradd -d /opt/fipes fipes @@ -21,8 +21,10 @@ ADD src /opt/fipes/src RUN chown -R fipes:fipes /opt/fipes USER fipes -RUN cd /opt/fipes && make +WORKDIR /opt/fipes +RUN make -CMD cd /opt/fipes/ && HOME=/opt/fipes erl -sname fipes@localhost -pa ebin -pa deps/*/ebin -boot start_sasl -s fipes +ENV HOME /opt/fipes +CMD erl -sname fipes@localhost -pa ebin -pa deps/*/ebin -boot start_sasl -s fipes EXPOSE 3473