Meshtastic <=> Matrix Relay-это мощная и простая в использовании реле между мештастичными устройствами и матричными чатами, позволяющим беспрепятственно общаться на всех платформах.
Этот проект просто сделает его
Доступно в двух вкусах - AMD64 и ARM64
Вероятно, лучше всего запустить контейнер в качестве пользователя, не являющегося корнями, то есть mmrelay и положить config.yaml in /opt или /srv или что-то в этом роде. Убедитесь, что он принадлежит новому пользователю
Получите локальную копию sample_config.yaml, измените ее по их инструкциям и вашим варианту использования, переименование в config.yaml и предоставьте его контейнеру на Mount Mount /home/mmrelay
т.е.
wget -O /opt/config.yaml https://raw.githubusercontent.com/geoffwhittington/meshtastic-matrix-relay/main/sample_config.yaml
vim /opt/config.yaml
useradd -M -s /bin/false mmrelay && chown mmrelay:mmrelay /opt/config.yaml
Добавьте сервис в свой Docker-compose.yml:
mmrelay-docker:
container_name: mmrelay
user: mmrelay:mmrelay
read_only: true
cap_drop:
- ALL
volumes:
- /opt/config.yaml:/home/mmrelay/config.yaml
image: ghcr.io/lingawakad/mmrelay-docker:latest
Если вы предпочитаете использовать Systemd для управления контейнером, что -то в этом направлении должно работать нормально:
/etc/systemd/system/mmrelay.service
[Unit]
Description=M<=>M Relay - Dockerized
Requires=docker.service
After=docker.service
[Service]
TimeoutStartSec=0
Restart=always
RestartSec=30
ExecStartPre=-/usr/bin/docker stop %n
ExecStartPre=-/usr/bin/docker rm %n
ExecStartPre=/usr/bin/docker pull ghcr.io/lingawakad/mmrelay-docker:latest
ExecStart=/usr/bin/docker run
--rm
--name=%n
--log-driver=none
--user=mmrelay:mmrelay
--read-only
--cap-drop=ALL
-v /opt/config.yaml:/home/mmrelay/config.yaml
ghcr.io/lingawakad/mmrelay-docker:latest
SyslogIdentifier=mmrelay
[Install]
WantedBy=multi-user.target
(((Обратите внимание, что в этом примере systemctl status mmrelay работает, и ведение ведения журнала через журнал, т.е. journalctl -fu mmrelay )))))