Установка с использованием 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