diff docker/salut/Dockerfile @ 105:b69056368901

docker: images optimisation: - reduced the number of layers by grouping many instructions - moved stuff which don't change a lot at the beginning, and hg/apt at the end - scripts are not now in scripts/ subdirectories - prosody.cfg.lua is added using ADD instead of getting it online - .hg/dirstate is copied in base (backend) and libervia, so mercurial revision is known - removed lot of useless WORKDIR instruction, they are replaced by "cd" inside RUN instructions - cleaning (apt-clean, rm) is done on the same instruction as the one than generate the data, to avoid useless data in layers
author Goffi <goffi@goffi.org>
date Sun, 28 Feb 2016 02:01:20 +0100
parents 8dd32aa49614
children
line wrap: on
line diff
--- a/docker/salut/Dockerfile	Sat Feb 27 00:45:58 2016 +0100
+++ b/docker/salut/Dockerfile	Sun Feb 28 02:01:20 2016 +0100
@@ -10,36 +10,27 @@
 
 MAINTAINER Goffi <goffi@goffi.org>
 
+############################
+# AUTOMATIC CONFIGURATION  #
+############################
+
+COPY scripts/salut /usr/local/bin/
+RUN chown root:root /usr/local/bin/salut && \
+chmod 0555 /usr/local/bin/salut && \
+
 ########
 # BASE #
 ########
 
-RUN apt-get clean
+cd /usr/share && hg clone https://repos.goffi.org/salut sat_salut && chown -R sat:sat sat_salut && \
 
-# This script launch Salut with domain and secret gotten from prosody container
-# it make the configuration more easy
-RUN echo '#!/usr/bin/env python2\n\
-import os, xmlrpclib\n\
-SALUT_PATH="/usr/share/sat_salut/"\n\
-os.chdir("/home/sat")\n\
-proxy = xmlrpclib.ServerProxy("http://prosody:9999/")\n\
-for var in ("DOMAIN", "SAT_SALUT_SECRET"):\n\
-    os.environ[var] = proxy.getenv(var)\n\
-os.environ["PYTHONPATH"] = SALUT_PATH\n\
-os.execlp("twistd", "twistd", "-ny", SALUT_PATH+"salut.tac", "--pidfile", "/tmp/salut.pid")\n\
-' > /usr/local/bin/salut && chmod 0555 /usr/local/bin/salut
+# configuration is really basic in salut, we just use environment to set data
+sed -i 's/^xmppcomponent =.*$/import os\nxmppcomponent = Component("prosody", 5347, "salut."+os.getenv("DOMAIN"), os.getenv("SAT_SALUT_SECRET"))/' sat_salut/salut.tac
 
-WORKDIR /usr/share
-
-RUN hg clone https://repos.goffi.org/salut sat_salut && chown -R sat:sat sat_salut
-
-WORKDIR sat_salut
+WORKDIR /usr/share/sat_salut
 
 USER sat
 
-# configuration is really basic in salut, we just use environment to set data
-RUN sed -i 's/^xmppcomponent =.*$/import os\nxmppcomponent = Component("prosody", 5347, "salut."+os.getenv("DOMAIN"), os.getenv("SAT_SALUT_SECRET"))/' salut.tac
-
 ##########
 # LAUNCH #
 ##########