renamed the livekit role and added livekit-server and jwt-service roles to the setup file.

This commit is contained in:
wjbeckett
2024-10-01 09:31:42 +10:00
parent 8cb7deff15
commit 97f93ebd76
9 changed files with 2 additions and 0 deletions

View File

@ -0,0 +1,46 @@
{% if matrix_livekit_server_container_labels_traefik_enabled %}
traefik.enable=true
# Network configuration for Traefik
{% if matrix_livekit_server_container_labels_traefik_docker_network %}
traefik.docker.network={{ matrix_livekit_server_container_labels_traefik_docker_network }}
{% endif %}
traefik.http.services.matrix-livekit-server.loadbalancer.server.port=7880
{% set middlewares = [] %}
# Path prefix handling for Livekit
{% if matrix_livekit_server_container_labels_traefik_path_prefix != '/' %}
traefik.http.middlewares.matrix-livekit-server-slashless-redirect.redirectregex.regex=({{ matrix_livekit_server_container_labels_traefik_path_prefix | quote }})$
traefik.http.middlewares.matrix-livekit-server-slashless-redirect.redirectregex.replacement=${1}/
{% set middlewares = middlewares + ['matrix-livekit-server-slashless-redirect'] %}
traefik.http.middlewares.matrix-livekit-server-strip-prefix.stripprefix.prefixes={{ matrix_livekit_server_container_labels_traefik_path_prefix }}
{% set middlewares = middlewares + ['matrix-livekit-server-strip-prefix'] %}
{% endif %}
{% if matrix_livekit_server_container_labels_traefik_additional_response_headers.keys() | length > 0 %}
{% for name, value in matrix_livekit_server_container_labels_traefik_additional_response_headers.items() %}
traefik.http.middlewares.matrix-livekit-server-add-headers.headers.customresponseheaders.{{ name }}={{ value }}
{% endfor %}
{% set middlewares = middlewares + ['matrix-livekit-server-add-headers'] %}
{% endif %}
traefik.http.routers.matrix-livekit-server.rule={{ matrix_livekit_server_container_labels_traefik_rule }}
{% if matrix_livekit_server_container_labels_traefik_priority | int > 0 %}
traefik.http.routers.matrix-livekit-server.priority={{ matrix_livekit_server_container_labels_traefik_priority }}
{% endif %}
traefik.http.routers.matrix-livekit-server.service=matrix-livekit-server
{% if middlewares | length > 0 %}
traefik.http.routers.matrix-livekit-server.middlewares={{ middlewares | join(',') }}
{% endif %}
traefik.http.routers.matrix-livekit-server.entrypoints={{ matrix_livekit_server_container_labels_traefik_entrypoints }}
traefik.http.routers.matrix-livekit-server.tls={{ matrix_livekit_server_container_labels_traefik_tls | to_json }}
{% if matrix_livekit_server_container_labels_traefik_tls %}
traefik.http.routers.matrix-livekit-server.tls.certResolver={{ matrix_livekit_server_container_labels_traefik_tls_certResolver }}
{% endif %}
{% endif %}
{{ matrix_livekit_server_container_labels_additional_labels }}

View File

@ -0,0 +1,20 @@
port: 7880
bind_addresses:
- "0.0.0.0"
rtc:
tcp_port: 7881
port_range_start: 50100
port_range_end: 50200
use_external_ip: false
turn:
enabled: false
domain: localhost
cert_file: ""
key_file: ""
tls_port: 5349
udp_port: 443
external_tls: true
keys:
devkey: "{{ matrix_livekit_server_livekit_dev_key }}"

View File

@ -0,0 +1,34 @@
#jinja2: lstrip_blocks: "True"
[Unit]
Description=Matrix LiveKit Server
After=docker.service
Requires=docker.service
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-livekit-server 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-livekit-server 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
--name=matrix-livekit-server \
--log-driver=none \
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
--cap-drop=ALL \
--network=host \
--mount type=bind,src={{ matrix_livekit_server_base_path }}/livekit.yaml,dst=/etc/livekit.yaml,ro \
--label-file={{ matrix_livekit_server_base_path }}/labels \
{{ matrix_livekit_image }} \
--dev --config /etc/livekit.yaml
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-livekit-server
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-livekit-server 2>/dev/null || true'
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-livekit-server 2>/dev/null || true'
Restart=always
RestartSec=30
SyslogIdentifier=matrix-livekit-server
[Install]
WantedBy=multi-user.target