Mercurial > sat_docs
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 # ##########