Mercurial > sat_docs
view docker/salut/Dockerfile @ 103:e69883c1ec30
docker (libervia_cont): added a "status" command:
- if libervia container is not running, it exits with error code 1
- if libervia container is running but no server is launched, it exits with error code 2
- if libervia container is running and server is launcher, it exits with error code 0 (success)
server detection is done by doing a simple grep on logs, that's not perfectly reliable (ports can be changed in configuration, even if that doesn't really make sense in Docker context) but should be good enough for this purpose.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 27 Feb 2016 00:45:40 +0100 |
parents | 8dd32aa49614 |
children | b69056368901 |
line wrap: on
line source
############################################################### # # # 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", "--pidfile", "/tmp/salut.pid")\n\ ' > /usr/local/bin/salut && chmod 0555 /usr/local/bin/salut WORKDIR /usr/share RUN hg clone https://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"]