Перейти к содержанию

Установка с использованием Docker

Megabitus Server работает на базе публичного образа в DockerHub: https://hub.docker.com/r/megabitusdev/megabitus-server.

Актуальная версия сервера Megabitus 0.7

Если у вас уже установлен Megabitus с использованием Docker и вы хотите обновить образ до актуальной версии, выполните команду и перезапустите контейнер:

docker pull megabitusdev/megabitus-server

Настройки

Настройки передаются контейнеру через переменные окружения или файл .env, который следует располагать в одном каталоге с docker-compose.yml.

Список доступных переменных, которые использует образ Docker аналогичен демону в готовой сборке.

Для оптимизации производительности рекомендуем использовать настройки сети Docker в режиме Host.

Примеры использования

Конфигурация с автоматическим получением сертификата HTTPS Let's encrypt

services:
    node:
        image: megabitusdev/megabitus-server
        ports:
            - "${PORT}:${PORT}"
        volumes:
            - ./certs:/app/certs
        restart: always
        environment:
            - HOST=${HOST}
            - PORT=${PORT}
            - SSL=${SSL}
HOST=megabitus.domain.ru  
PORT=443  
SSL=true

Конфигурация с пользовательским сертификатом HTTPS

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}
HOST=megabitus.domain.ru
PORT=443
SSL=true
TLS_CERT_FILE=certs/domain.ru.crt
TLS_KEY_FILE=certs/domain.ru.key

Конфигурация без HTTPS

Обращаем внимание, в этом случае вам необходимо обрабатывать HTTPS соединения внешним сервисом, передавая данному серверу трафик по протоколу HTTP.

services:
    node:
        image: megabitusdev/megabitus-server
        ports:
            - "${PORT}:${PORT}"
        volumes:
            - ./certs:/app/certs
        restart: always
        environment:
            - HOST=${HOST}
            - PORT=${PORT}
            - SSL=${SSL}
HOST=megabitus.domain.ru
PORT=80
SSL=false

Конфигурация с выбором определенного сетевого интерфейса

В случае если на вашем сервере несколько сетевых интерфейсов, вы можете определить на какой из них повесить Megabitus Server.

services:
    node:
        image: megabitusdev/megabitus-server
        ports:
            - "${INTERFACE}:${PORT}:${PORT}"
        volumes:
            - ./certs:/app/certs
        restart: always
        environment:
            - HOST=${HOST}
            - PORT=${PORT}
            - SSL=${SSL}
INTERFACE=100.100.100.100
HOST=megabitus.domain.ru
PORT=443
SSL=true

Конфигурация в режиме Host с выбором определенного сетевого интерфейса

services:
    node:
        image: megabitusdev/megabitus-server
        network_mode: host
        volumes:
            - ./certs:/app/certs
        restart: always
        environment:
            - HOST=${HOST}
            - PORT=${PORT}
            - SSL=${SSL}
            - INTERFACE=${INTERFACE}
INTERFACE=100.100.100.100
HOST=megabitus.domain.ru
PORT=443
SSL=true