ajout de la conf synapse-admin dans ce role

This commit is contained in:
Navas 2025-08-16 11:12:35 +02:00
parent ee368886b2
commit d1ac52c08d
4 changed files with 47 additions and 24 deletions

View file

@ -1,5 +1,8 @@
- name: docker-compose-up
shell: |
- name: docker-compose-restart
ansible.builtin.shell: |
docker compose down
docker compose up -d
args:
chdir: /opt/{{ docker_synapse_service_id }}/
changed_when: true

View file

@ -1,50 +1,49 @@
- name: docker directory
file:
- name: Docker directory
ansible.builtin.file:
path: /opt/{{ docker_synapse_service_id }}/
state: directory
- name: prepare docker-compose.yml
template:
- name: Prepare config
ansible.builtin.template:
src: "{{ item }}"
dest: /opt/{{ docker_synapse_service_id }}/
with_items:
- docker-compose.yml
notify: docker-compose-up
notify: docker-compose-restart
- name: generate secrets
- name: Generate secrets
when: docker_synapse_gen_config is true
block:
- name: docker-compose-gen-config
shell: |
- name: Docker-compose-gen-config
ansible.builtin.shell: |
docker-compose down
docker-compose run --rm synapse generate
cp -a {{ docker_synapse_data_dir }}/{{ docker_synapse_service_id }}/synapse_data/homeserver.yaml /opt/{{ docker_synapse_service_id }}/
args:
chdir: /opt/{{ docker_synapse_service_id }}/
register: config
- debug:
changed_when: true
- ansible.builtin.debug:
msg: "{{ config.stdout_lines }}"
- debug:
- ansible.builtin.debug:
msg: "Récupérer les valeurs suivantes du fichier de configuration qui vient d'être généré pour alimenter les variables du playbook synapse"
- name: Playbook stops here if docker_synapse_gen_config is set
assert:
ansible.builtin.assert:
that:
- docker_synapse_gen_config is false
- name: prepare configuration
template:
- name: Prepare configuration
ansible.builtin.template:
src: "{{ item }}"
dest: /opt/{{ docker_synapse_service_id }}/
with_items:
- homeserver.yaml
notify: docker-compose-up
- synapse-admin-config.json
notify: docker-compose-restart

View file

@ -40,6 +40,24 @@ services:
POSTGRES_PASSWORD: "{{ docker_synapse_db_password }}"
POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --lc-collate=C --lc-ctype=C"
synapse-admin:
image: awesometechnologies/synapse-admin:latest
restart: always
volumes:
- ./synapse-admin-config.json:/app/config.json:ro
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.{{ docker_synapse_service_id }}_admin.entrypoints=web"
- "traefik.http.routers.{{ docker_synapse_service_id }}_admin.rule=Host(`{{ docker_synapse_fqdn }}`) && PathPrefix(`/synapse-admin`)"
- "traefik.http.services.{{ docker_synapse_service_id }}_admin.loadbalancer.server.port=80"
- "traefik.http.routers.{{ docker_synapse_service_id }}_admin.middlewares={{ docker_synapse_service_id }}_admin,{{ docker_synapse_service_id }}_admin_path"
- "traefik.http.middlewares.{{ docker_synapse_service_id }}_admin.redirectregex.regex=^(.*)/synapse-admin/?"
- "traefik.http.middlewares.{{ docker_synapse_service_id }}_admin.redirectregex.replacement=$${1}/synapse-admin/"
- "traefik.http.middlewares.{{ docker_synapse_service_id }}_admin_path.stripprefix.prefixes=/synapse-admin"
networks:
- traefik
networks:
traefik:

View file

@ -0,0 +1,3 @@
{
"restrictBaseUrl": "https://{{ docker_synapse_server_name }}"
}