view docker/salut/Dockerfile @ 80:686a8c982c3f

docker: updated Dockerfiles: - use HTTPS URLs instead of HTTP - prosody image know use prosody Debian repository instead of Debian Jessie version, prosody 0.10 is used - prosody configuration is now in prosody directory next to Dockerfile, instead of using difficult to maintain sed calls - community modules are downloaded from mercurial, and only needed ones are kept - no more remote-roster hack \o/ - pubsub component is not at pubsub.[domain] (was sat-pubsub before) - SàT media are gotten from hg instead of ftp, so they are up-to-date with SàT version - libervia image now use pip for txJSON-RPC - fixed now needed jinja2 installation - fixed libervia/admin accounts auto-creation script - fixed uid/gid for prosody in data image - removed not needed anymore nox option in base image - added python-pip in base image - docker images now work with current dev version (0.6.0D)
author Goffi <goffi@goffi.org>
date Fri, 12 Feb 2016 20:24:24 +0100
parents 0e78c8a4626e
children 8dd32aa49614
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")\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"]