Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4039 Partially reverts 30dad8ba277bc32494125b70794e2d0df5ac08ae which renamed `config.yml` to `config.yaml` in the playbook and on the server, for consistency with the rest of the playbook. The problem is that: - baibot defaults to looking for `config.yml`, not `config.yaml` (as provided). This can be worked around by specifying a new `BAIBOT_CONFIG_FILE_PATH=config.yaml` environment variable. This brings more complexity. - renaming the target file (on the server) to `config.yaml` means people with an existing installation would drag around the old file (`config.yml`) as well, unless we create a new Ansible task (`ansible.builtin.file` with `state: absent`) to remove the old file. This brings more complexity as well. https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4039 adjusts where the file is mounted, which fixes the immediate problem (baibot not starting), but still means people will end up with 2 config files for baibot (`config.yml` and `config.yaml`). This patch, reverts a bit more, so that we still continue to use `config.yml` on the server. People who have upgraded within the last ~17 hours may end up with 2 files, but it shouldn't be too many of them.
54 lines
2.4 KiB
Django/Jinja
54 lines
2.4 KiB
Django/Jinja
#jinja2: lstrip_blocks: "True"
|
|
[Unit]
|
|
Description=Matrix baibot bot
|
|
{% for service in matrix_bot_baibot_systemd_required_services_list %}
|
|
Requires={{ service }}
|
|
After={{ service }}
|
|
{% endfor %}
|
|
{% for service in matrix_bot_baibot_systemd_wanted_services_list %}
|
|
Wants={{ service }}
|
|
{% endfor %}
|
|
DefaultDependencies=no
|
|
|
|
[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-bot-baibot 2>/dev/null || true'
|
|
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-baibot 2>/dev/null || true'
|
|
|
|
{#
|
|
We mount a tmpfs at /tmp, because the bot may write temporary files there
|
|
(see its `src/agent/provider/openai_compat/controller.rs`).
|
|
#}
|
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|
--rm \
|
|
--name=matrix-bot-baibot \
|
|
--log-driver=none \
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
|
--cap-drop=ALL \
|
|
--read-only \
|
|
--network={{ matrix_bot_baibot_container_network }} \
|
|
--env-file={{ matrix_bot_baibot_config_path }}/env \
|
|
--mount type=bind,src={{ matrix_bot_baibot_config_path }}/config.yml,dst=/app/config.yml,ro \
|
|
--mount type=bind,src={{ matrix_bot_baibot_data_path }},dst=/data \
|
|
--tmpfs=/tmp:rw,noexec,nosuid,size=1024m \
|
|
{% for arg in matrix_bot_baibot_container_extra_arguments %}
|
|
{{ arg }} \
|
|
{% endfor %}
|
|
{{ matrix_bot_baibot_container_image }}
|
|
|
|
{% for network in matrix_bot_baibot_container_additional_networks %}
|
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-bot-baibot
|
|
{% endfor %}
|
|
|
|
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-baibot
|
|
|
|
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-bot-baibot 2>/dev/null || true'
|
|
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-baibot 2>/dev/null || true'
|
|
Restart=always
|
|
RestartSec=30
|
|
SyslogIdentifier=matrix-bot-baibot
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|