Mercurial > sat_docs
view 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 source
############################################################### # # # Salut à Toi/sat_pubsub # # This Dockerfile build a SàT Pubsub service for SàT # # Salut à Toi is a multi-frontends multi-purposes XMPP client # # # ############################################################### FROM salutatoi/base:latest 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 # ######## 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 # ############ cd sat_pubsub/db && \ # To simplify installation, we integrate our own PostgreSQL # future alternate version may use an external PostgreSQL container 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 # ########## # we need to launch PostgreSQL, so we launch as root then switch to sat user ENTRYPOINT ["/bin/sh","-c", "service postgresql start && su -c sat_pubsub sat"]