Mercurial > sat_docs
view docker/salut/Dockerfile @ 85:bcba1966e6db
docker: certificate generation + various improvments:
- certificate is now auto-generated on first prosody launch is there is not already one
- certificate generated on build is removed to avoid image-wide certificate
- generated certificates are stored in sat_data
- data image is now based on prosody which is itslef based on sat_pubsub
- prosody configuration is moved to /etc/prosody/prosody_sat_cfg, and stored in sat_data
- building order changed to adapt to new images hierarchy
- libervia default configuration set to both without redirection (and with a security warning)
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 18 Feb 2016 17:31:09 +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"]