forked from uumas/ansible-docker
40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
---
|
|
|
|
- name: Element web
|
|
docker_container:
|
|
name: 'element'
|
|
image: 'vectorim/element-web:latest'
|
|
pull: true
|
|
container_default_behavior: no_defaults
|
|
volumes:
|
|
- /app
|
|
published_ports:
|
|
- "127.0.0.1:{{ ports.element_http }}:80"
|
|
restart_policy: always
|
|
register: element_out
|
|
|
|
- name: Get element config volume path from container creation output
|
|
set_fact:
|
|
element_config_volume: "{{ element_out.container.Mounts | selectattr('Destination', 'equalto', '/app') | join }}"
|
|
|
|
- name: Read element config to variable
|
|
include_vars: element_config.yml
|
|
- name: Put element config in place
|
|
copy:
|
|
content: "{{ element_config }}"
|
|
dest: "{{ element_config_volume.Source }}/config.json"
|
|
mode: '644'
|
|
|
|
- name: Add caddy reverse proxy config
|
|
blockinfile:
|
|
path: /etc/caddy/Caddyfile
|
|
marker: "# {mark} ANSIBLE MANAGED BLOCK element"
|
|
block: |
|
|
element.{{ domain }} chat.{{ domain }} {
|
|
reverse_proxy http://127.0.0.1:{{ ports.element_http }}
|
|
}
|
|
validate: 'caddy validate --config %s --adapter caddyfile'
|
|
backup: true
|
|
notify: reload caddy
|
|
when: reverse_proxy_type == 'caddy'
|