caught up to functioning TS

This commit is contained in:
2026-03-20 16:01:28 -06:00
parent b832ab51ac
commit 032a14bbb3
6 changed files with 105 additions and 151 deletions

View File

@@ -31,20 +31,17 @@
driver: local
state: present
loop:
- "{{ vol_traefik }}"
- "{{ vol_synapse }}"
- "{{ vol_media }}"
- "{{ vol_turn }}"
- "{{ vol_nginx }}"
- "{{ vol_teamspeak }}"
- "{{ vol_teamspeak }}"
- "{{ npm_data }}"
- "{{ npm_letsencrypt }}"
# -----------------------------------------------------------------
# Pull required images (including Teamspeak)
# -----------------------------------------------------------------
- name: Pull Traefik image
containers.podman.podman_image:
name: "{{ traefik_image }}"
state: present
- name: Pull coturn image
containers.podman.podman_image:
@@ -65,22 +62,16 @@
containers.podman.podman_image:
name: "{{ teamspeak_image }}"
state: present
- name: Pull Nginx Proxy Manager image
containers.podman.podman_image:
name: "{{ npm_image }}"
state: present
# -----------------------------------------------------------------
# Render all configuration files from the templates
# -----------------------------------------------------------------
- name: Render static Traefik config
ansible.builtin.template:
src: traefik_static.toml.j2
dest: "{{ static_traefik_path }}"
mode: "0644"
- name: Render dynamic Traefik config
ansible.builtin.template:
src: traefik_dynamic.yml.j2
dest: "{{ dynamic_traefik_path }}"
mode: "0644"
- name: Render coturn config
ansible.builtin.template:
@@ -112,90 +103,94 @@
dest: "{{ synapse_log_config }}"
# -----------------------------------------------------------------
# Start the NGINX container (unchanged – just mounts the file we created)
# Start the NGINX Proxy Manager Container
# -----------------------------------------------------------------
- name: Start NGINX landing-page container
- name: Start Nginx Proxy manager
containers.podman.podman_container:
name: landing
image: "{{ nginx_image }}"
name: npm
image: "{{ npm_image }}"
state: started
ports:
- "8080:80"
- "80:80"
- "443:443"
- "81:81"
volumes:
- "{{ vol_nginx }}:/usr/share/nginx/html:ro"
- "{{ nginx_html_path }}:/usr/share/nginx/html/index.html:ro"
- "{{ npm_data }}:/data"
- "{{ npm_letsencrypt }}:/etc/letsencrypt"
network: "{{ podman_network }}"
restart_policy: always
# -----------------------------------------------------------------
# Start the NGINX container
# -----------------------------------------------------------------
# - name: Start NGINX landing-page container
# containers.podman.podman_container:
# name: landing
# image: "{{ nginx_image }}"
# state: started
# ports:
# - "8080:80"
# volumes:
# - "{{ vol_nginx }}:/usr/share/nginx/html:ro"
# - "{{ nginx_html_path }}:/usr/share/nginx/html/index.html:ro"
# network: "{{ podman_network }}"
# restart_policy: always
# -----------------------------------------------------------------
# Start containers (Traefik, TURN, Synapse, NGINX – unchanged)
# -----------------------------------------------------------------
- name: Start Traefik container
containers.podman.podman_container:
name: traefik
image: "{{ traefik_image }}"
state: started
ports:
- "{{ traefik_http_port }}:{{ traefik_http_port }}"
- "{{ traefik_https_port }}:{{ traefik_https_port }}"
# - "{{ teamspeak_tcp_port }}:{{ teamspeak_tcp_port }}" # expose TCP entrypoint on host
volumes:
- "{{ vol_traefik }}:/etc/traefik"
- "{{ static_traefik_path }}:{{ static_traefik_path }}:ro"
- "{{ dynamic_traefik_path }}:{{ dynamic_traefik_path }}:ro"
network: "{{ podman_network }}"
restart_policy: always
- name: Start coturn container
containers.podman.podman_container:
name: turn
image: "{{ turn_image }}"
state: started
ports:
- "{{ turn_listen_port }}:{{ turn_listen_port }}/udp"
- "{{ turn_listen_port }}:{{ turn_listen_port }}/tcp"
- "{{ turn_tls_port }}:{{ turn_tls_port }}/udp"
- "{{ turn_tls_port }}:{{ turn_tls_port }}/tcp"
volumes:
- "{{ vol_turn }}:/var/lib/turn"
- "{{ turn_conf_path }}:/etc/turnserver.conf:ro"
command: "-c /etc/turnserver.conf"
network: "{{ podman_network }}"
restart_policy: always
# - name: Start coturn container
# containers.podman.podman_container:
# name: turn
# image: "{{ turn_image }}"
# state: started
# ports:
# - "{{ turn_listen_port }}:{{ turn_listen_port }}/udp"
# - "{{ turn_listen_port }}:{{ turn_listen_port }}/tcp"
# - "{{ turn_tls_port }}:{{ turn_tls_port }}/udp"
# - "{{ turn_tls_port }}:{{ turn_tls_port }}/tcp"
# volumes:
# - "{{ vol_turn }}:/var/lib/turn"
# - "{{ turn_conf_path }}:/etc/turnserver.conf:ro"
# command: "-c /etc/turnserver.conf"
# network: "{{ podman_network }}"
# restart_policy: always
- name: Start Synapse container
containers.podman.podman_container:
name: synapse
image: "{{ synapse_image }}"
state: started
env:
SYNAPSE_SERVER_NAME: "{{ matrix_domain }}"
SYNAPSE_REPORT_STATS: "yes"
ports:
- "{{ synapse_http_port }}:{{ synapse_http_port }}"
volumes:
- "{{ vol_synapse }}:/data"
- "{{ vol_media }}:/data/media_store"
- "{{ synapse_cfg_path }}:/data/homeserver.yaml:Z"
- "{{ synapse_secret_key_path }}:/data/my.matrix.host.signing.key:Z"
- "{{ synapse_log_config }}:/data/matrix.fpov.space.log.config:Z"
network: "{{ podman_network }}"
restart_policy: always
# - name: Start Synapse container
# containers.podman.podman_container:
# name: synapse
# image: "{{ synapse_image }}"
# state: started
# env:
# SYNAPSE_SERVER_NAME: "{{ matrix_domain }}"
# SYNAPSE_REPORT_STATS: "yes"
# ports:
# - "{{ synapse_http_port }}:{{ synapse_http_port }}"
# volumes:
# - "{{ vol_synapse }}:/data"
# - "{{ vol_media }}:/data/media_store"
# - "{{ synapse_cfg_path }}:/data/homeserver.yaml:Z"
# - "{{ synapse_secret_key_path }}:/data/my.matrix.host.signing.key:Z"
# - "{{ synapse_log_config }}:/data/matrix.fpov.space.log.config:Z"
# network: "{{ podman_network }}"
# restart_policy: always
- name: Start NGINX landing-page container
containers.podman.podman_container:
name: landing
image: "{{ nginx_image }}"
state: started
ports:
- "8080:80"
volumes:
- "{{ vol_nginx }}:/usr/share/nginx/html:ro"
- "{{ nginx_html_path }}:/usr/share/nginx/html/index.html:ro"
network: "{{ podman_network }}"
restart_policy: always
# - name: Start NGINX landing-page container
# containers.podman.podman_container:
# name: landing
# image: "{{ nginx_image }}"
# state: started
# ports:
# - "8080:80"
# volumes:
# - "{{ vol_nginx }}:/usr/share/nginx/html:ro"
# - "{{ nginx_html_path }}:/usr/share/nginx/html/index.html:ro"
# network: "{{ podman_network }}"
# restart_policy: always
# -----------------------------------------------------------------
# Start Teamspeak container
@@ -205,7 +200,7 @@
name: "{{ teamspeak_container_name }}"
image: "{{ teamspeak_image }}"
env:
TSSERVER_LICENSE_ACCEPTED: 1
TS3SERVER_LICENSE: accept
state: started
ports:
# UDP voice port – exposed directly on the host (no Traefik)