caught up to functioning TS
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user