view docker/data/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 bcba1966e6db
children
line wrap: on
line source

###############################################################
#                                                             #
#                      Salut à Toi/data                       #
#     This Dockerfile build a « Salut à Toi » data image      #
# Salut à Toi is a multi-frontends multi-purposes XMPP client #
#                                                             #
###############################################################

FROM salutatoi/prosody:latest

MAINTAINER Goffi <goffi@goffi.org>

###########
# VOLUMES #
###########

USER root

# sat user home, where most of config files and databases are located
VOLUME ["/home/sat"]

# Prosody
VOLUME ["/var/lib/prosody"]
VOLUME ["/etc/prosody/prosody_sat_cfg"]

# Postgres database, used in SàT PubSub
VOLUME ["/var/lib/postgresql"]

# TLS certificates
VOLUME ["/usr/share/sat/certificates"]

# Logs not shown directly with docker logs
VOLUME ["/var/log"]

##########
# BACKUP #
##########

WORKDIR /volumes
RUN ln -s /home/sat sat && \
ln -s /usr/share/sat/certificates certificates && \
ln -s /var/lib/prosody prosody && \
ln -s /etc/prosody/prosody_sat_cfg prosody_sat_cfg && \
ln -s /var/lib/postgresql postgresql && \
ln -s /var/log log
VOLUME ["/volumes"]

ENTRYPOINT ["/bin/true"]