mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-04-25 09:57:35 +00:00
Upgrade meshtastic-relay (v1.2.8 -> v1.3.5) and adapt for MMRELAY_HOME
v1.3.0 moved the container's runtime paths to a unified MMRELAY_HOME=/data model (credentials, database, logs, E2EE store, plugins all live under /data). Legacy /app paths still work until v1.4. Adapted the role to the new model: drop the three `/app/*` bind mounts and the `_logs_path` variable, mount `_config_path` read-only at `/config` and `_data_path` read-write at `/data`, and invoke the container as `mmrelay --config /config/config.yaml` so the Ansible-managed config stays separate from runtime data. Also drop the hardcoded `/app/data/...` database and e2ee store_path overrides from the default config; MMRELAY_HOME defaults place them under `_data_path/database/` and `_data_path/matrix/store/` on the host.
This commit is contained in:
@@ -10,7 +10,7 @@
|
|||||||
matrix_meshtastic_relay_enabled: true
|
matrix_meshtastic_relay_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=jeremiah-k/mmrelay packageName=ghcr.io/jeremiah-k/mmrelay
|
# renovate: datasource=docker depName=jeremiah-k/mmrelay packageName=ghcr.io/jeremiah-k/mmrelay
|
||||||
matrix_meshtastic_relay_version: 1.2.8
|
matrix_meshtastic_relay_version: 1.3.5
|
||||||
matrix_meshtastic_relay_container_image: "{{ matrix_meshtastic_relay_container_image_registry_prefix }}jeremiah-k/mmrelay:{{ matrix_meshtastic_relay_version }}"
|
matrix_meshtastic_relay_container_image: "{{ matrix_meshtastic_relay_container_image_registry_prefix }}jeremiah-k/mmrelay:{{ matrix_meshtastic_relay_version }}"
|
||||||
matrix_meshtastic_relay_container_image_registry_prefix: "{{ matrix_meshtastic_relay_container_image_registry_prefix_upstream }}"
|
matrix_meshtastic_relay_container_image_registry_prefix: "{{ matrix_meshtastic_relay_container_image_registry_prefix_upstream }}"
|
||||||
matrix_meshtastic_relay_container_image_registry_prefix_upstream: "{{ matrix_meshtastic_relay_container_image_registry_prefix_upstream_default }}"
|
matrix_meshtastic_relay_container_image_registry_prefix_upstream: "{{ matrix_meshtastic_relay_container_image_registry_prefix_upstream_default }}"
|
||||||
@@ -18,9 +18,15 @@ matrix_meshtastic_relay_container_image_registry_prefix_upstream_default: "ghcr.
|
|||||||
matrix_meshtastic_relay_container_image_force_pull: "{{ matrix_meshtastic_relay_container_image.endswith(':latest') }}"
|
matrix_meshtastic_relay_container_image_force_pull: "{{ matrix_meshtastic_relay_container_image.endswith(':latest') }}"
|
||||||
|
|
||||||
matrix_meshtastic_relay_base_path: "{{ matrix_base_data_path }}/meshtastic-relay"
|
matrix_meshtastic_relay_base_path: "{{ matrix_base_data_path }}/meshtastic-relay"
|
||||||
|
|
||||||
|
# Holds the Ansible-managed `config.yaml`. Mounted read-only at `/config` in the
|
||||||
|
# container; mmrelay is pointed at `/config/config.yaml` via the `--config` CLI flag.
|
||||||
matrix_meshtastic_relay_config_path: "{{ matrix_meshtastic_relay_base_path }}/config"
|
matrix_meshtastic_relay_config_path: "{{ matrix_meshtastic_relay_base_path }}/config"
|
||||||
|
|
||||||
|
# Runtime data directory. Mounted read-write at `/data` (MMRELAY_HOME) in the container.
|
||||||
|
# mmrelay auto-creates `database/`, `logs/`, `matrix/` (credentials + E2EE store)
|
||||||
|
# and `plugins/` subdirectories underneath as needed.
|
||||||
matrix_meshtastic_relay_data_path: "{{ matrix_meshtastic_relay_base_path }}/data"
|
matrix_meshtastic_relay_data_path: "{{ matrix_meshtastic_relay_base_path }}/data"
|
||||||
matrix_meshtastic_relay_logs_path: "{{ matrix_meshtastic_relay_base_path }}/logs"
|
|
||||||
|
|
||||||
matrix_meshtastic_relay_container_network: ""
|
matrix_meshtastic_relay_container_network: ""
|
||||||
|
|
||||||
@@ -51,8 +57,8 @@ matrix_meshtastic_relay_matrix_bot_user_id: "@meshtasticbot:{{ matrix_meshtastic
|
|||||||
|
|
||||||
# Password for the bot's Matrix account.
|
# Password for the bot's Matrix account.
|
||||||
# On first startup, mmrelay uses this to log in and persist credentials (including E2EE
|
# On first startup, mmrelay uses this to log in and persist credentials (including E2EE
|
||||||
# material) under `{{ matrix_meshtastic_relay_data_path }}`. After that, the password
|
# material) under `{{ matrix_meshtastic_relay_data_path }}/matrix/` on the host. After
|
||||||
# can (and should) be cleared from configuration.
|
# that, the password can (and should) be cleared from configuration.
|
||||||
matrix_meshtastic_relay_matrix_bot_password: ""
|
matrix_meshtastic_relay_matrix_bot_password: ""
|
||||||
|
|
||||||
# Controls whether End-to-End Encryption is enabled.
|
# Controls whether End-to-End Encryption is enabled.
|
||||||
@@ -109,14 +115,12 @@ matrix_meshtastic_relay_configuration_default:
|
|||||||
bot_user_id: "{{ matrix_meshtastic_relay_matrix_bot_user_id }}"
|
bot_user_id: "{{ matrix_meshtastic_relay_matrix_bot_user_id }}"
|
||||||
e2ee:
|
e2ee:
|
||||||
enabled: "{{ matrix_meshtastic_relay_e2ee_enabled }}"
|
enabled: "{{ matrix_meshtastic_relay_e2ee_enabled }}"
|
||||||
store_path: /app/data/store
|
|
||||||
matrix_rooms: "{{ matrix_meshtastic_relay_matrix_rooms_list }}"
|
matrix_rooms: "{{ matrix_meshtastic_relay_matrix_rooms_list }}"
|
||||||
meshtastic: "{{ matrix_meshtastic_relay_meshtastic_configuration }}"
|
meshtastic: "{{ matrix_meshtastic_relay_meshtastic_configuration }}"
|
||||||
logging:
|
logging:
|
||||||
level: info
|
level: info
|
||||||
log_to_file: false
|
log_to_file: false
|
||||||
database:
|
database:
|
||||||
path: /app/data/meshtastic.sqlite
|
|
||||||
enable_wal: true
|
enable_wal: true
|
||||||
busy_timeout_ms: 5000
|
busy_timeout_ms: 5000
|
||||||
pragmas:
|
pragmas:
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
- "{{ matrix_meshtastic_relay_base_path }}"
|
- "{{ matrix_meshtastic_relay_base_path }}"
|
||||||
- "{{ matrix_meshtastic_relay_config_path }}"
|
- "{{ matrix_meshtastic_relay_config_path }}"
|
||||||
- "{{ matrix_meshtastic_relay_data_path }}"
|
- "{{ matrix_meshtastic_relay_data_path }}"
|
||||||
- "{{ matrix_meshtastic_relay_logs_path }}"
|
|
||||||
|
|
||||||
- name: Ensure matrix-meshtastic-relay config.yaml is installed
|
- name: Ensure matrix-meshtastic-relay config.yaml is installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
|
|||||||
@@ -25,9 +25,8 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|||||||
--read-only \
|
--read-only \
|
||||||
--tmpfs=/tmp:rw,noexec,nosuid,size=50m \
|
--tmpfs=/tmp:rw,noexec,nosuid,size=50m \
|
||||||
--tmpfs=/.cache:rw,noexec,nosuid,size=50m \
|
--tmpfs=/.cache:rw,noexec,nosuid,size=50m \
|
||||||
--mount type=bind,src={{ matrix_meshtastic_relay_config_path }}/config.yaml,dst=/app/config.yaml,ro \
|
--mount type=bind,src={{ matrix_meshtastic_relay_config_path }},dst=/config,ro \
|
||||||
--mount type=bind,src={{ matrix_meshtastic_relay_data_path }},dst=/app/data \
|
--mount type=bind,src={{ matrix_meshtastic_relay_data_path }},dst=/data \
|
||||||
--mount type=bind,src={{ matrix_meshtastic_relay_logs_path }},dst=/app/logs \
|
|
||||||
{% if matrix_meshtastic_relay_connection_type == 'ble' %}
|
{% if matrix_meshtastic_relay_connection_type == 'ble' %}
|
||||||
--network=host \
|
--network=host \
|
||||||
--security-opt apparmor=unconfined \
|
--security-opt apparmor=unconfined \
|
||||||
@@ -41,7 +40,8 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|||||||
{% for arg in matrix_meshtastic_relay_container_extra_arguments %}
|
{% for arg in matrix_meshtastic_relay_container_extra_arguments %}
|
||||||
{{ arg }} \
|
{{ arg }} \
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ matrix_meshtastic_relay_container_image }}
|
{{ matrix_meshtastic_relay_container_image }} \
|
||||||
|
mmrelay --config /config/config.yaml
|
||||||
|
|
||||||
{% for network in matrix_meshtastic_relay_container_additional_networks %}
|
{% for network in matrix_meshtastic_relay_container_additional_networks %}
|
||||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-meshtastic-relay
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-meshtastic-relay
|
||||||
|
|||||||
Reference in New Issue
Block a user