Mercurial > sat_docs
diff docker_legacy/prosody/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/prosody/Dockerfile Fri Jan 01 18:33:52 2021 +0100 @@ -0,0 +1,88 @@ +############################################################### +# # +# Salut à Toi/Prosody # +# This Dockerfile build a Prosody version prepared for SàT # +# Salut à Toi is a multi-frontends multi-purposes XMPP client # +# # +############################################################### + +FROM salutatoi/sat_pubsub:latest + +MAINTAINER Goffi <goffi@goffi.org> + +############################ +# AUTOMATIC CONFIGURATION # +############################ + + +COPY scripts/container_server scripts/prosody /usr/local/bin/ +RUN chown root:root /usr/local/bin/container_server && \ +chmod 0555 /usr/local/bin/container_server && \ +chown root:root /usr/local/bin/prosody && \ +chmod 0555 /usr/local/bin/prosody + +######## +# BASE # +######## + +RUN apt-get install -y --no-install-recommends lsb-release && \ + +# we add prosody repository and key +echo deb http://packages.prosody.im/debian $(lsb_release -sc) main > /etc/apt/sources.list.d/prosody.list && \ +python -c 'import urllib2;import subprocess as s;s.Popen(["apt-key","add","-"], stdin=s.PIPE).communicate(urllib2.urlopen("https://prosody.im/files/prosody-debian-packages.key").read())' && \ +apt-get update && \ + +# and install prosody and apg (to generate passwords) +apt-get install -y apg prosody-trunk && \ +apt-get clean && \ + +# prosody user need to access (and write) certificates +adduser prosody tls-cert && \ + +# prosody need to access /var/run to write it's pid +mkdir -p /var/run/prosody; chown prosody:adm /var/run/prosody + +################### +# PROSODY MODULES # +################### + +RUN cd /tmp && \ +hg clone https://hg.prosody.im/prosody-modules/ prosody-modules && \ +cd prosody-modules && \ +for mod in privilege delegation ipcheck http_upload;do cp mod_$mod/mod_$mod.lua /usr/lib/prosody/modules;done && \ +cd /tmp && rm -rf prosody-modules + +################# +# CONFIGURATION # +################# + +ADD prosody.cfg.lua /etc/prosody/prosody_sat_cfg/ +RUN cd /etc/prosody && chown -R prosody:prosody prosody_sat_cfg && \ +ln -fs prosody_sat_cfg/prosody.cfg.lua prosody.cfg.lua && \ + +############### +# CERTIFICATE # +############### + +# We want to use the certificates in /usr/share/sat/certificates +# and we don't want any certificate in the image, +# they'll be generated at launch or mounted in container +rm -rf /etc/localhost.key /etc/prosody/certs/* + +######### +# PORTS # +######### + +# client to server (C2S), +# server to server (S2S), +# HTTP upload, +# and HTTP upload (HTTPS) +EXPOSE 5222 5269 5280 5281 + +########## +# LAUNCH # +########## + +USER prosody + +ENTRYPOINT ["prosody"]