#################################################################### # # # Salut à Toi/Libervia # # This Dockerfile build Libervia, the web frontend for Salut à Toi # # Salut à Toi is a multi-frontends multi-purposes XMPP client # # # #################################################################### FROM salutatoi/media:latest MAINTAINER Goffi ##################### # FIRST LAUNCH TEST # ##################### COPY scripts/libervia_cont_launch /usr/bin/ RUN chown root:root /usr/bin/libervia_cont_launch && \ chmod 0555 /usr/bin/libervia_cont_launch && \ ######### # D-Bus # ######### cp /usr/local/bin/dbus_wrap /usr/local/bin/libervia_cont_launch && \ ################# # CONFIGURATION # ################# # we want to use certificates in /usr/share/sat/certificates echo "\n[libervia]\n\ tls_private_key = /usr/share/sat/certificates/libervia.key\n\ tls_certificate = /usr/share/sat/certificates/libervia.crt\n\ connection_type = both\n\ redirect_to_https = 0" >> /etc/sat.conf ################ # dependencies # ################ RUN pip install txJSON-RPC && \ apt-get install -y --no-install-recommends python-jinja2 && apt-get clean && \ ########### # PYJAMAS # ########### cd /tmp && \ # as the situation with pyjamas is complicated, we get the archive from our own ftp python -c 'import urllib2,tarfile,cStringIO;tar=tarfile.open(fileobj=cStringIO.StringIO(urllib2.urlopen("https://ftp.goffi.org/pyjamas/pyjamas.tar.bz2").read()));tar.extractall()' && \ cd pyjamas && \ python bootstrap.py && \ ln -s /tmp/pyjamas/bin/pyjsbuild /usr/local/bin/pyjsbuild && \ ############ # LIBERVIA # ############ hg clone https://repos.goffi.org/libervia && \ cd libervia && \ python setup.py install && \ # as for SàT backend, we copy .hg/dirstate so # Libervia can get repository version # TODO: should be done in setup.py in the future cp --parents .hg/dirstate /usr/local/lib/python2.7/dist-packages/libervia && \ # some cleaning before finishing the layer cd /tmp && rm -rf libervia pyjamas /usr/local/bin/pyjsbuild ######### # Ports # ######### # HTTP and HTTPS EXPOSE 8080 8443 ########## # LAUNCH # ########## USER sat ENTRYPOINT ["libervia_cont_launch", "fg"]