mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-09-19 06:10:10 +00:00
lk-jwt-service v0.6.0 ships a healthcheck which builds its URL as http://localhost:$LIVEKIT_JWT_BIND/healthz, interpolating the bind address into the port slot. We set LIVEKIT_JWT_BIND to ":8080", so the check requests http://localhost::8080/healthz, which does not parse and can never succeed. The container therefore sits permanently unhealthy, Traefik skips unhealthy containers, and the service stops being routed, so Element Call fails to obtain an SFU token. No value satisfies both sides: the service passes LIVEKIT_JWT_BIND to ListenAndServe, which needs a full bind address, while the healthcheck needs a bare port. The check only works when the variable is unset and its own "8080" fallback applies, which would mean ignoring a configured port. Correcting the check from here is not possible either, as the image is built FROM scratch and has no shell for a --health-cmd override to use. Turn the healthcheck off, behind a variable so it can be turned back on once upstream fixes it. This restores the pre-v0.6.0 behavior, where the image carried no healthcheck at all. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
54 lines
2.8 KiB
Django/Jinja
54 lines
2.8 KiB
Django/Jinja
#jinja2: lstrip_blocks: True
|
|
[Unit]
|
|
Description=Matrix LiveKit JWT Service
|
|
{% for service in matrix_livekit_jwt_service_systemd_required_services_list %}
|
|
After={{ service }}
|
|
Requires={{ service }}
|
|
{% endfor %}
|
|
|
|
[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 -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-livekit-jwt-service 2>/dev/null || true'
|
|
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-livekit-jwt-service 2>/dev/null || true'
|
|
|
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|
--rm \
|
|
--name=matrix-livekit-jwt-service \
|
|
--log-driver=none \
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
|
--cap-drop=ALL \
|
|
{% if not matrix_livekit_jwt_service_container_healthcheck_enabled %}
|
|
--no-healthcheck \
|
|
{% endif %}
|
|
--network={{ matrix_livekit_jwt_service_container_network }} \
|
|
{% if matrix_livekit_jwt_service_container_http_host_bind_port %}
|
|
-p {{ matrix_livekit_jwt_service_container_http_host_bind_port }}:{{ matrix_livekit_jwt_service_container_port }} \
|
|
{% endif %}
|
|
{% for volume in matrix_livekit_jwt_service_container_additional_volumes %}
|
|
--mount type={{ volume.type | default('bind' if '/' in volume.src else 'volume') }},src={{ volume.src }},dst={{ volume.dst }}{{ (',' + volume.options) if volume.options else '' }} \
|
|
{% endfor %}
|
|
{% for arg in matrix_livekit_jwt_service_container_additional_arguments %}
|
|
{{ arg }} \
|
|
{% endfor %}
|
|
--env-file={{ matrix_livekit_jwt_service_base_path }}/env \
|
|
--label-file={{ matrix_livekit_jwt_service_base_path }}/labels \
|
|
{{ matrix_livekit_jwt_service_container_image }}
|
|
|
|
{% if matrix_livekit_jwt_service_container_network != 'host' %}
|
|
{% for network in matrix_livekit_jwt_service_container_additional_networks %}
|
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-livekit-jwt-service
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-livekit-jwt-service
|
|
|
|
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-livekit-jwt-service 2>/dev/null || true'
|
|
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-livekit-jwt-service 2>/dev/null || true'
|
|
Restart=always
|
|
RestartSec=30
|
|
SyslogIdentifier=matrix-livekit-jwt-service
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|