Skip to content

Repository files navigation

LoRa-Bridge

CI Docs Docker Publish: GHCR Docker Publish: Yandex Cloud Python 3.11+ License: MIT Ruff

Двунаправленный мост между LoRa-сетями (MeshCore, …) и мессенджерами (Telegram, …): сообщения из мессенджера уходят в эфир, а принятое из эфира зеркалится подписчикам. Поддерживает несколько физических LoRa-нод, каждую со своими каналами.

Быстрый старт

Готовые образы публикуются в GHCR и в Yandex Cloud Container Registry

config.example.yaml — рабочий конфиг с заглушками. В config.yaml заполнить:

  • connection.device_id (или port/host/address — зависит от способа подключения)
  • endpoints.*.channel_name
  • chat_id в rooms[].subscribers

Telegram token — отдельно, через переменную окружения (см. ниже). Где взять значения для LoRa — Подключение MeshCore.

Вариант 1: одной командой (docker run)

curl -o config.yaml https://raw.githubusercontent.com/Flexlug/LoRa-Bridge/main/config.example.yaml

Откройте config.yaml: перепишите секцию lora: под своё устройство (см. выше) и впишите chat_id. Telegram token в файле трогать не нужно — он уже ссылается на ${TG_BOT_TOKEN} и подставится из -e ниже:

docker run -d --name lora-bridge --restart unless-stopped \
  -v "$(pwd)/config.yaml:/config/config.yaml:ro" \
  -v lora-bridge-data:/data \
  -e TG_BOT_TOKEN=123456:AAABBB... \
  ghcr.io/flexlug/lora-bridge:latest

Если ghcr.io недоступен, используйте тот же образ из Yandex Cloud — достаточно заменить последнюю строку:

  cr.yandex/crpdjbirs0ru9gdbo2l8/flexlug/lora-bridge:latest

Для проброса LoRa-устройства добавьте --device /dev/ttyUSB0:/dev/ttyUSB0 (путь — из connection.port конфига).

Вариант 2: docker compose

curl -o config.yaml https://raw.githubusercontent.com/Flexlug/LoRa-Bridge/main/config.example.yaml

Откройте config.yaml: перепишите секцию lora: под своё устройство (см. выше) и впишите chat_id. Telegram token в файле трогать не нужно — он уже ссылается на ${TG_BOT_TOKEN}, а прокинет его env_file ниже:

echo "TG_BOT_TOKEN=123456:AAABBB..." > .env
# docker-compose.yml
services:
  lora-bridge:
    image: ghcr.io/flexlug/lora-bridge:latest
    # если ghcr.io заблокирован — переключитесь на второй registry:
    # image: cr.yandex/crpdjbirs0ru9gdbo2l8/flexlug/lora-bridge:latest
    restart: unless-stopped
    env_file: .env
    volumes:
      - ./config.yaml:/config/config.yaml:ro
      - lora-data:/data
    # devices:                        # проброс LoRa-устройства
    #   - "/dev/ttyUSB0:/dev/ttyUSB0"
    stop_grace_period: 10s

volumes:
  lora-data:
docker compose up -d

Собрать образ из исходников самостоятельно — в гиде для разработчиков.

Документация

Полная документация — в docs/ (или собирается как сайт через uv run mkdocs serve):

About

LoRa bridge between LoRa and supported messanger

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages