forked from data.coop/ansible
101 lines
2.5 KiB
YAML
101 lines
2.5 KiB
YAML
---
|
|
- name: create matrix volume folders
|
|
file:
|
|
name: "{{ matrix.volume_folder }}/{{ volume }}"
|
|
state: directory
|
|
loop:
|
|
- "db"
|
|
loop_control:
|
|
loop_var: volume
|
|
|
|
- name: create riot volume folders
|
|
file:
|
|
name: "{{ riot.volume_folder }}/{{ volume }}"
|
|
state: directory
|
|
loop:
|
|
- "data"
|
|
loop_control:
|
|
loop_var: volume
|
|
|
|
- name: matrix network
|
|
docker_network:
|
|
name: matrix
|
|
|
|
- name: upload riot config.json
|
|
template:
|
|
src: files/configs/riot/config.json
|
|
dest: "{{ riot.volume_folder }}/data/config.json"
|
|
|
|
- name: upload riot.im.conf
|
|
template:
|
|
src: files/configs/riot/riot.im.conf
|
|
dest: "{{ riot.volume_folder }}/data/riot.im.conf"
|
|
|
|
- name: upload vhost config for root domain
|
|
template:
|
|
src: files/configs/matrix/vhost-root
|
|
dest: "{{ nginx.volume_folder }}/vhost/{{ base_domain }}"
|
|
|
|
- name: upload vhost config for matrix domain
|
|
template:
|
|
src: files/configs/matrix/vhost-matrix
|
|
dest: "{{ nginx.volume_folder }}/vhost/{{ matrix.domain }}"
|
|
|
|
- name: matrix database container
|
|
docker_container:
|
|
name: matrix_db
|
|
image: postgres:10
|
|
state: started
|
|
restart_policy: always
|
|
networks:
|
|
- name: matrix
|
|
volumes:
|
|
- "{{ matrix.volume_folder }}/db:/var/lib/postgresql/data"
|
|
env:
|
|
POSTGRES_USER: "synapse"
|
|
POSTGRES_PASSWORD: "{{ postgres_passwords.matrix }}"
|
|
|
|
- name: matrix container
|
|
docker_container:
|
|
name: matrix
|
|
image: matrixdotorg/synapse:latest
|
|
restart_policy: unless-stopped
|
|
networks:
|
|
- name: matrix
|
|
published_ports:
|
|
- "8008"
|
|
volumes:
|
|
- "{{ matrix.volume_folder }}/data:/data"
|
|
env:
|
|
SYNAPSE_SERVER_NAME: "{{ base_domain }}"
|
|
SYNAPSE_REPORT_STATS: "False"
|
|
SYNAPSE_ENABLE_REGISTRATION: "True"
|
|
SYNAPSE_LOG_LEVEL: "ERROR"
|
|
SYNAPSE_NO_TLS: "1"
|
|
POSTGRES_HOST: "matrix_db"
|
|
POSTGRES_USER: "synapse"
|
|
POSTGRES_PASSWORD: "{{ postgres_passwords.matrix }}"
|
|
VIRTUAL_HOST: "{{ matrix.domain }}"
|
|
VIRTUAL_PORT: "8008"
|
|
LETSENCRYPT_HOST: "{{ matrix.domain }}"
|
|
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
|
|
|
|
- name: riot container
|
|
docker_container:
|
|
name: riot_app
|
|
image: avhost/docker-matrix-riot:v1.0.1
|
|
state: started
|
|
restart_policy: always
|
|
networks:
|
|
- name: matrix
|
|
- name: external_services
|
|
published_ports:
|
|
- "8080"
|
|
volumes:
|
|
- "{{ riot.volume_folder }}/data:/data"
|
|
env:
|
|
VIRTUAL_HOST: "{{ riot.domain }}"
|
|
VIRTUAL_PORT: "8080"
|
|
LETSENCRYPT_HOST: "{{ riot.domain }}"
|
|
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
|