diff docker/salut/Dockerfile @ 21:0e78c8a4626e

Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
author Goffi <goffi@goffi.org>
date Sun, 19 Oct 2014 15:14:40 +0200
parents
children 686a8c982c3f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/salut/Dockerfile	Sun Oct 19 15:14:40 2014 +0200
@@ -0,0 +1,47 @@
+###############################################################
+#                                                             #
+#                      Salut à Toi/salut                      #
+#  This Dockerfile build a Salut directory prepared for SàT   #
+# Salut à Toi is a multi-frontends multi-purposes XMPP client #
+#                                                             #
+###############################################################
+
+FROM salutatoi/base:latest
+
+MAINTAINER Goffi <goffi@goffi.org>
+
+########
+# BASE #
+########
+
+RUN apt-get clean
+
+# 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")\n\
+' > /usr/local/bin/salut && chmod 0555 /usr/local/bin/salut
+
+WORKDIR /usr/share
+
+RUN hg clone http://repos.goffi.org/salut sat_salut && chown -R sat:sat sat_salut
+
+WORKDIR 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 #
+##########
+
+ENTRYPOINT ["salut"]