diff docker_legacy/libervia/Dockerfile @ 164:29873a41aae1

docker: new docker files are now in sat main repos, this one is legacy
author Goffi <goffi@goffi.org>
date Fri, 01 Jan 2021 18:33:52 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker_legacy/libervia/Dockerfile	Fri Jan 01 18:33:52 2021 +0100
@@ -0,0 +1,93 @@
+####################################################################
+#                                                                  #
+#                       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 <goffi@goffi.org>
+
+#####################
+# 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 #
+############
+
+cd /tmp && hg clone https://repos.goffi.org/libervia && \
+
+cd libervia && \
+
+python setup.py install && \
+
+# as for SàT backend, we save repos data
+# so Libervia can get repository version
+# TODO: should be done in setup.py in the future
+python -c 'from sat.tools import utils;utils.getRepositoryData("/tmp/libervia", is_path=True, save_dir_path="/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"]