JetBrains Products License Server in docker

Jan 29, 2018 09:22 · 376 words · 2 minute read activation activator crack docker idea ilsap intellij jetbrains license license-server ngrok

В последнее время после обновления PhpStorm (особенно до версии 2017.3.3) все чаще “слетает” активация продукта по методу “License server” - за последние пару дней приходилось раз 5 менять адрес сервера лицензий.

Давайте разберемся как поднять свой сервер лицензий для продуктов JetBrains в docker-контейнере и навсегда забыть о проблемах с активацией PhpStorm!

Считаем, что docker уже установлен и настроен. В моем примере используется самая последняя версия Docker for Mac из канала Edge:

docker -v
Docker version 18.01.0-ce, build 03596f5

Создаем каталог для работы и переходим в него:

mkdir -p ~/Code/jb-license-server && cd ~/Code/jb-license-server

В каталоге создадим Dockerfile с инструкциями для сборки docker-образа:

nano Dockerfile

Содержимое файла будет следующим:

FROM node:9.4.0-alpine

RUN apk add --update sudo \
	&& sudo npm install ilsap -g --unsafe-perm \
	&& rm -rf /var/cache/apk/*

EXPOSE 8997
CMD ilsap

Собираем docker-образ командой:

docker build -t my-license-server:v1 .

Запускаем контейнер из созданного docker-образа:

docker run -d --name my-license-server -p 8997:8997 --restart=always my-license-server:v1

После старта контейнера смотрим его логи:

docker logs my-license-server

Вывод должен быть примерно таким:

Starting server...
Redirecting requests to http://xidea.online
Listening on http://0.0.0.0:8997 <- Use this url to register your product

Далее для активации продукта в PhpStorm в поле “License server address” вводим адрес из лога - http://0.0.0.0:8997, жмем кнопку “Activate” и забываем о проблемах с активацией PhpStorm навсегда!

Описанный метод должен работать и для активации других продуктов JetBrains, однако я проверял только на примере PhpStorm.

Кроме того, доступно еще несколько дополнительных опций для запуска личного JetBrains Products License Server - узнать о них можно с помощью такой команды:

docker run --rm --name my-license-server -p 8997:8997 my-license-server:v1 ilsap --help

Результат выполнения будет следующим:

Usage: ilsap [options]

  Options:

    -V, --version          output the version number
    -h, --host <host>      hostname to listen on (default: 0.0.0.0)
    -p, --port <port>      port to listen on (default: 8997)
    -s, --server <server>  license server url (default: http://xidea.online)
    -n, --ngrok            start a ngrok server pointed to your local port
    -h, --help             output usage information

Примечание. Если собираетесь переопределить порт по умолчанию, не забудьте также изменить его и в Dockerfile (инструкция EXPOSE).

Например, если вы хотите проксировать запросы из docker-контейнера на другой сервер лицензирования, можно это сделать так:

docker run -d --name my-license-server -p 8997:8997 --restart=always my-lic-server:v1 ilsap -s http://idea.ibdyr.com

Если нет желания собирать docker-образ самостоятельно - можете воспользоваться готовым из Docker Hub.

tweet Share