Mercurial > sat_docs
view docker/libervia/Dockerfile @ 134:4549cf265131
flatpak: install D-Bus .service on each frontend:
work around lack of dependency handling in Flatpak by installing D-Bus .service on each frontend.
This works because all backend is included in the runtime, but we have to add backend permissions to all frontend, and set --own-name=org.salutatoi.SAT.
Furthermore, if one frontend is removed, the symbolic link is removed and the backend will not be launched automatically anymore, even if other frontends are still there.
The benefict of this method is that backend has not to be installed manually to use a frontend.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 15 Jul 2018 16:56:55 +0200 |
parents | 8b228fd053bc |
children |
line wrap: on
line source
#################################################################### # # # 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"]