diff --git a/pillar/paas/docker.sls b/pillar/paas/docker.sls --- a/pillar/paas/docker.sls +++ b/pillar/paas/docker.sls @@ -6,6 +6,10 @@ # License: Trivial work, not eligible to copyright # ------------------------------------------------------------- +# ------------------------------------------------------------- +# Images and containers +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # You can append a :tag (by default, latest is used). # You can't directly specify a Docker library images. # See https://docs.saltstack.com/en/latest/ref/states/all/salt.states.docker_image.html @@ -41,5 +45,28 @@ ip: 172.17.0.100 elapsi: ip: 172.17.0.101 + # phpBB SaaS phpbb_db: {} + + # Openfire + openfire: + host: xmpp.nasqueron.org + + # ------------------------------------------------------------- + # Ports listened by XMPP + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +xmpp_ports: + - 3478 + - 5222 # Client to server + - 5223 # Client to server (Encrypted (legacy-mode) connections) + - 5262 # Cnnections managers + - 5269 # Server to server + - 5275 # External components + - 5276 # External components (Encrypted (legacy-mode) connections) + - 7070 # HTTP binding + - 7443 # HTTP binding with TLS + - 7777 # File transfer proxy + - 9090 # Web administration server + - 9091 # Web administration server with THLS diff --git a/roles/paas-docker/containers/openfire.sls b/roles/paas-docker/containers/openfire.sls new file mode 100644 --- /dev/null +++ b/roles/paas-docker/containers/openfire.sls @@ -0,0 +1,48 @@ +# ------------------------------------------------------------- +# Salt — Provision Docker engine +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Project: Nasqueron +# Created: 2018-06-18 +# License: Trivial work, not eligible to copyright +# ------------------------------------------------------------- + +{% set has_selinux = salt['grains.get']('selinux:enabled', False) %} +{% set containers = pillar['docker_containers'][grains['id']] %} + +# ------------------------------------------------------------- +# Storage directory +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/srv/openfire: + file.directory: + - user: 999 + - group: 999 + - makedirs: True + +{% if has_selinux %} +selinux_context_openfire_data: + selinux.fcontext_policy_present: + - name: /srv/openfire + - sel_type: svirt_sandbox_file_t + +selinux_context_openfire_data_applied: + selinux.fcontext_policy_applied: + - name: /srv/openfire +{% endif %} + +# ------------------------------------------------------------- +# Container +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +openfire: + docker_container.running: + - detach: True + - interactive: True + - image: gizmotronic/openfire + - binds: /srv/openfire:/var/lib/openfire + - hostname: {{ containers['openfire']['host'] }} + - ports: {{ pillar['xmpp_ports'] }} + - port_bindings: +{% for port in pillar['xmpp_ports'] %} + - {{ port }}:{{ port }} +{% endfor %}