Для того чтобы приложение Megabitus проводило замеры с вашим сервером, необходимо выполнить ряд условий:
Все обращения к серверу происходят по протоколу HTTPS. При этом сам сервер может работать по HTTPS или HTTP. В случае HTTPS сервер либо автоматически получает сертификат Let’s encrypt, либо использует сертификат пользователя, указанный в переменных окружения. Также в случае, если у вас HTTPS терминируется внешним сервисом, вы можете настроить сервер на работу по протоколу HTTP.
рекомендуется 16GB
;
минимум 1 Gbps
;
отдельный поддомен
и белый IP-адрес
;
PORT
.
Настройки передаются демону подобно варианту с использование Docker — через переменные окружения или файл .env
. Список переменных такой же.
Megabitus Server работает на базе публичного образа в DockerHub: https://hub.docker.com/r/megabitusdev/megabitus-server.
При запуске образа необходимо установить переменные окружения:
HOST
— Домен, на котором будет располагаться сервер;INTERFACE
— Интерфейс, на котором будет располагаться сервер;PORT
— Номер порта;SSL
— Признак использования SSL (true/false). Если используется SSL и установлен порт отличный от 443, то нужно обязательно разместить существующий SSL сертификат в каталоге /app/certs
;TLS_CERT_FILE
— Путь к файлу с сертификатом (не обязательно);TLS_KEY_FILE
— Путь к файлу с приватным ключом (не обязательно);TOKEN
— Токен для получения состояния узла (не обязательно);CUSTOM_ENDPOINT
— Дополнительный адрес для получения состояния узла (не обязательно);CUSTOM_CONTENT
— Дополнительный контент для получения состояния узла (не обязательно);API_URL
— Адрес API-сервиса (не обязательно);DEBUG
— Признак отладки (true/false).
Переменные HOST
и PORT
являются обязательными.
Также рекомендуется вынести каталог /app/certs
, в котором храниться автоматически полученный HTTPS-сертификат. Сюда же можно положить существующий сертификат. В этом случае система будет работать с ним.
Файл .env
располагается в одном каталоге с docker-compose.yml
.
docker-compose.yml
services: node: image: megabitusdev/megabitus-server ports: - "${PORT}:${PORT}" volumes: - ./certs:/app/certs restart: always environment: - HOST=${HOST} - PORT=${PORT} - SSL=${SSL}
.env
HOST=megabitus.domain.ru PORT=443 SSL=true
docker-compose.yml
services: node: image: megabitusdev/megabitus-server ports: - "${PORT}:${PORT}" volumes: - ./certs:/app/certs restart: always environment: - HOST=${HOST} - PORT=${PORT} - SSL=${SSL} - TLS_CERT_FILE=${TLS_CERT_FILE} - TLS_KEY_FILE=${TLS_KEY_FILE}
.env
HOST=megabitus.domain.ru PORT=443 SSL=true TLS_CERT_FILE=certs/domain.ru.crt TLS_KEY_FILE=certs/domain.ru.key
Обращаем внимание, в этом случае вам необходимо обрабатывать HTTPS соединения внешним сервисом, передавая данному серверу трафик по протоколу HTTP.
docker-compose.yml
services: node: image: megabitusdev/megabitus-server ports: - "${PORT}:${PORT}" volumes: - ./certs:/app/certs restart: always environment: - HOST=${HOST} - PORT=${PORT} - SSL=${SSL}
.env
HOST=megabitus.domain.ru PORT=80 SSL=false
В случае если на вашем сервере несколько сетевых интерфейсов, вы можете определить на какой из них повесить Megabitus.
docker-compose.yml
services: node: image: megabitusdev/megabitus-server ports: - "${INTERFACE}:${PORT}:${PORT}" volumes: - ./certs:/app/certs restart: always environment: - HOST=${HOST} - PORT=${PORT} - SSL=${SSL}
.env
INTERFACE=100.100.100.100 HOST=megabitus.domain.ru PORT=443 SSL=true
После установки ПО на свой сервер заполните форму регистрации.