Воронин

traccar на synology

развернём систему traccar в Docker Synology

для начала создадим базу данных
для простоты воспользуемся двумя пакетами MariaDB и phpMyAdmin

открываем phpMyAdmin и задаём нового пользователя

Заполните поля, имя пользователя лучше сделать уникальным, так будет сложнее взломать сервер. И обязательно поставьте галочку, чтобы создалась база с тем же именем

отлично, дальше создаём структуру для хранения изменяемых данных

основную папку
и подпапки

не забудьте на основной папке отключить наследование

и дать права на запись всем

скачайте с git файл конфигурации https://github.com/traccar/traccar/blob/master/setup/traccar.xml

и отредактируйте конфигурацию подключения к базе данных

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>

    <!-- Documentation: https://www.traccar.org/configuration-file/ -->

    <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
    <entry key='database.url'>jdbc:mysql://ip_of_synology:3306/traccar_db?serverTimezone=UTC&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
    <entry key='database.user'>traccar_db</entry>
    <entry key='database.password'>password</entry>

</properties>

файл загрузите на сервер synology в папку /docker/traccar/conf

дальше идём в Docker synology и жмём создать проект

заполняем поля

пишем следующий compose.yaml

version: '3'
services:
  traccar:
    container_name: traccar_latest
    image: traccar/traccar:debian
    volumes:
      - /volume1/docker/traccar/conf/traccar.xml:/opt/traccar/conf/traccar.xml:rw
      - /volume1/docker/traccar/logs:/opt/traccar/logs:rw
    network_mode: 'host'
    restart: always

жмём далее и тут можно было бы сразу создать свой web портал, но приложение использует в работе web интерфейса протокол websocket, а его можно настроить только в «Обратном прокси»

создаём и запускаем

в случае проблем запуска контейнера — смотрите логи docker/traccar/logs/tracker-server.log

дальше осталось настроить «Обратный прокси» и выпустить сертификат

я думаю, вы уже зарегистрировали домен для вашего сервиса

открываем «Панель управления» -> «Дополнительно» -> «Обратный прокси»

создаём правило для вашего домена

не забудем включить поддержку Websocket

так же опционально сделаем подключение через ssl

и Websocket не забываем

остался последний штрих — выпустить Let’s Ecnrypt сертификат

там же идём в настройки

и назначаем сертификат нашему домену

WEB RustDesk на Synology

Если у вас настроен свой сервер ретрансляции в локальной сети, то вы замечали, наверное, что подключение к машинам в LAN происходит великолепно, а вот снаружи не получится.

Есть «костыль», который решит вашу проблему, давайте настроим web сервер для RustDesk, который будет находится в той же сети, что и ретранслятор, и поможет не имея приложения-клиента подключаться к любой машине в LAN.

Воспользуемся Docker на Synology.

Для начала найдём в реестре контейнер rustdesk-web-client

и скачаем его

после скачивания выбираем «Запустить»

пробросим 5000 порт на 35000, чтобы не конфликтовал с  synology

остальное оставляем по-умолчанию

теперь просто в браузере открываем на наш synology порт 35000

готово

RustDesk на Synology

запустим свой сервер ретрансляции для RustDesk на Synology

за основу взял статью на официальном сайте: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker/

нам потребуется создать на компьютере файл docker-compose.yml

version: '3'

services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - ./data:/root
    network_mode: "host"

    depends_on:
      - hbbr
    restart: unless-stopped


  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

на Synology создайте папку RustDesk в структуре /volume1/docker

далее в папке RustDesk создайте папку data

и дайте на неё полные права для записи

теперь откройте Container Manager и нажмите кнопку создать

заполните соответствующие поля и укажите путь к файлу docker-compose.yml на компьютере

настройки веб-портала я пропустил

создаём и запускаем

ждём когда скачаются соответствующие образы и сформируются контейнеры

всё готово и наш проект запустился

внутри него два зависимых контейнера

можно смотреть их свойства, например, журнал сервера

а в папке /volume1/docker/RustDesk появился файл compose.yaml

в папке data структура файлов и нужный нам для подключения публичный ключ

готово

PS не забудьте дать доступ к портам вашего synology

  • TCP (21115, 21116, 21117, 21118, 21119)
  • UDP (21116)
Ранее Ctrl + ↓