Mercurial > sat_docs
diff docker/sat_pubsub/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 | d0a5db5b9bdf |
line wrap: on
line diff
--- a/docker/sat_pubsub/Dockerfile Sat Feb 27 00:45:58 2016 +0100 +++ b/docker/sat_pubsub/Dockerfile Sun Feb 28 02:01:20 2016 +0100 @@ -10,42 +10,39 @@ MAINTAINER Goffi <goffi@goffi.org> +############################ +# AUTOMATIC CONFIGURATION # +############################ + + +COPY scripts/sat_pubsub /usr/local/bin/ +RUN chown root:root /usr/local/bin/sat_pubsub && \ +chmod 0555 /usr/local/bin/sat_pubsub && \ + ######## # BASE # ######## -RUN apt-get install -y --no-install-recommends postgresql -RUN apt-get install -y --no-install-recommends python-psycopg2 -RUN apt-get clean - -# This script launch SàT PubSub 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\ -os.chdir("/usr/share/sat_pubsub")\n\ -proxy = xmlrpclib.ServerProxy("http://prosody:9999/")\n\ -domain = proxy.getenv("DOMAIN")\n\ -secret = proxy.getenv("SAT_PUBSUB_SECRET")\n\ -os.execlp("twistd", "twistd", "-n", "--pidfile", "/tmp/sat_pubsub.pid", "sat_pubsub", "--rhost", "prosody",\ - "--jid", "pubsub.%s" % domain, "--secret", secret)\n\ -' > /usr/local/bin/sat_pubsub && chmod 0555 /usr/local/bin/sat_pubsub - -WORKDIR /usr/share - -RUN hg clone https://repos.goffi.org/sat_pubsub && chown -R sat:sat sat_pubsub +apt-get install -y --no-install-recommends postgresql && \ +apt-get install -y --no-install-recommends python-psycopg2 && \ +apt-get clean && \ +cd /usr/share && \ +hg clone https://repos.goffi.org/sat_pubsub && chown -R sat:sat sat_pubsub && \ ############ # DATABASE # ############ -WORKDIR sat_pubsub/db +cd sat_pubsub/db && \ # To simplify installation, we integrate our own PostgreSQL # future alternate version may use an external PostgreSQL container -USER root - -RUN service postgresql start; su -c "createuser -d -w sat" postgres; su -c "createdb pubsub" postgres; su -c "psql pubsub < pubsub.sql" sat; service postgresql stop +service postgresql start; \ +su -c "createuser -d -w sat" postgres; \ +su -c "createdb pubsub" postgres; \ +su -c "psql pubsub < pubsub.sql" sat; \ +service postgresql stop ########## # LAUNCH #