С версии SoftWLC 1.24 возможен запуск сервиса eltex-radius-nbi в контейнере.
При запуске сервиса в контейнере надо учитывать, что доступ к БД MariaDB потребуется разрешить с любого адреса. Так же потребуется переопределить настройки проксирующего сервиса nginx.
Чтобы разрешить доступ до БД с любого адреса:
bind-address в /etc/mysql/mariadb.conf.d/50-server.cnfsudo cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf.bak sudo sed -i -e "s/\(bind-address.*=.*\)/#\1/" /etc/mysql/mariadb.conf.d/50-server.cnf sudo systemctl restart mariadb.service |
Добавить права для доступа к БД:
GRANT ALL PRIVILEGES ON *.* TO 'javauser'@'%' WITH GRANT OPTION GRANT ALL PRIVILEGES ON `eltex-jobs`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `radius`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `wireless`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_jerry`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_sorm2`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_pcrf`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_ott`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_wifi_customer_cab`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_jobs`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_wids`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_auth_service`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_bruce`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_ont`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_ems`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_alert`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `ELTEX_PORTAL`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_ngw`.* TO 'javauser'@'%' GRANT ALL PRIVILEGES ON `eltex_doors`.* TO 'javauser'@'%' GRANT SELECT ON `mysql`.`proc` TO 'javauser'@'%' FLUSH PRIVILEGES; |
Для запуска сервиса требуется создать папку для запуска контейнера и в ней подготовить файлы с переменными окружения ".env", "eltex-radius-nbi.env" и файл конфигурации для запуска сервиса с помощью docker-compose "docker-compose.yaml"
vversion: '3'
services:
eltex-radius-nbi:
image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
ports:
- "8081:8081/tcp"
- "9010:9010/tcp"
hostname: NbiDocker
env_file: eltex-radius-nbi.env
environment:
# Настройки таймзоны
- TZ=${TZ}
# Настройки логирования
- NBI_LOG_LEVEL=${NBI_LOG_LEVEL}
- NBI_CONSOLE_LEVEL=${NBI_CONSOLE_LEVEL}
# Настройки Graylog
- GELF_LEVEL=${GELF_LEVEL}
- GELF_HOST=${GELF_HOST}
- GELF_PORT=${GELF_PORT}
volumes:
- eltex-radius-ca:/var/lib/eltex-radius-nbi
# логи
- /var/log/eltex-radius-nbi:/var/log/eltex-radius-nbi
restart: unless-stopped
volumes:
eltex-radius-ca: |
ELTEX_HUB=hub.eltex-co.ru/softwlc SWLC_VERSION=1.30 # Настройки таймзоны TZ=Asia/Novosibirsk # Настройки логирования NBI_LOG_LEVEL=INFO NBI_CONSOLE_LEVEL=INFO # Настройки Graylog # Вместо <graylog_server_ip> нужно указать настоящий адрес сервера Graylog или localhost GELF_LEVEL=OFF GELF_HOST=udp:localhost GELF_PORT=12201 |
Параметры окружения в файле "eltex-radius-nbi.env" приведены исходя из дефолтных настроек конфигурации eltex-radius-nbi, которые находятся в файле "/etc/eltex-radius-nbi/radius_nbi_config.txt" за исключением IP-адресов, которые после запуска сервиса в контейнере не смогут быть доступны через localhost. Если выполняется переход на запуск "eltex-radius-nbi" в контейнере - необходимо перенести значения параметров из файла конфигурации, которые были изменены и отличаются от дефолтных. |
# DB radius(alias=radius) RADIUS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 RADIUS_JDBC_USERNAME=javauser RADIUS_JDBC_PASSWORD=javapassword # DB radius replica(alias=radiusReplicaPool) RADIUS_JDBC_REPLICA_DBURL=jdbc:mysql://<ip mariaDB>/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 RADIUS_JDBC_REPLICA_USERNAME=javauser RADIUS_JDBC_REPLICA_PASSWORD=javapassword # DB ems(alias=ems) EMS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/eltex_ems?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true EMS_JDBC_USERNAME=javauser EMS_JDBC_PASSWORD=javapassword # DB wireless (alias=wireless) WIRELESS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/wireless?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 WIRELESS_JDBC_USERNAME=javauser WIRELESS_JDBC_PASSWORD=javapassword # DB logs (alias=logs) LOGS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/eltex_alert?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 LOGS_JDBC_USERNAME=javauser LOGS_JDBC_PASSWORD=javapassword # DB logs (alias=eltex_auth_service) ELTEX_AUTH_SERVICE_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 ELTEX_AUTH_SERVICE_JDBC_USERNAME=javauser ELTEX_AUTH_SERVICE_JDBC_PASSWORD=javapassword # адрес ems-northbound # IP-адрес сервера EMS EMS_NBI_HOST=<ip ems> EMS_NBI_PORT=8087 # tomcat url # IP-адрес eltex-radius-nbi TOMCAT_HOST=<ip eltex-radius-nbi> TOMCAT_PORT=8081 # pcrf stuff PCRF_ENABLED=true # адрес Eltex-PCRF PCRF_URL=http://<ip адрес сервиса>:7070 PCRF_USERNAME=admin PCRF_PASSWORD=password PCRF_READTIMEOUT=11 PCRF_WRITETIMEOUT=11 # pcrf mariaDB PCRF_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_pcrf?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 PCRF_JDBC_USERNAME=javauser PCRF_JDBC_PASSWORD=javapassword # wifi-customer-cab mariaDB WIFI_CAB_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_wifi_customer_cab?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 WIFI_CAB_JDBC_USERNAME=javauser WIFI_CAB_JDBC_PASSWORD=javapassword # Eltex.SORM2.replicator MariaDB 'sorm2' connect SORM2_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_sorm2?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 SORM2_JDBC_USERNAME=javauser SORM2_JDBC_PASSWORD=javapassword # ott mariaDB OTT_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_ott?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 OTT_JDBC_USERNAME=javauser OTT_JDBC_PASSWORD=javapassword # wifi-customer-cab request settings WIFICAB_TIMEOUT=90000 # Eltex.SORM2.replicator host to use API SORM2_ENABLED=false SORM2_URL=http://<ip адрес сервиса>:7071 SORM2_USERNAME=admin SORM2_PASSWORD=password #It enables records export to SORM3 while editing wifi users SORM3_ENABLED=false # ott mariaDB OTT_JDBC_DBURL=jdbc:mysql://eltex-mysql:3306/eltex_ott?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 OTT_JDBC_USERNAME=javauser OTT_JDBC_PASSWORD=javapassword # metrics METRIC_PORT=9010 # SSO settings SSO_ENABLED=false #the client secret settings only matter when "provider=rtk" SSO_CLIENTSECRET= #the client ID settings only matter when "provider=rtk" SSO_CLIENTID= # SSO REST SSO_REST_SERVER_PROTOCOL=http SSO_REST_SERVER_ADDRESS= SSO_REST_SERVER_PORT=80 SSO_REST_SERVER_TIMEOUT_SEC=10 # possible value for provider are "rtk", "keycloak" SSO_REST_PROTOCOL_PROVIDER=rtk #the version settings only matter when "provider=rtk" SSO_REST_PROTOCOL_VERSION=2.0 #the username settings only matter when "provider=rtk" SSO_REST_USERNAME= #the password settings only matter when "provider=rtk" SSO_REST_PASSWORD= SSO_REST_GETTOKEN_PATH=/apiman-gateway/b2b_test/getToken SSO_REST_GETUSERINFO_PATH=/apiman-gateway/b2b_test/getUserInfo #the least below sso settings only matter when "provider=rtk" SSO_REST_ADDUSER_PATH=/apiman-gateway/b2b_test/addUser SSO_REST_UPDATEUSER_PATH=/apiman-gateway/b2b_test/updateUser SSO_REST_DELUSER_PATH=/apiman-gateway/b2b_test/delUser SSO_REST_ADDUSERPARAM_PATH=/apiman-gateway/b2b_test/addUserParam SSO_REST_DELUSERPARAM_PATH=/apiman-gateway/b2b_test/delUserParam SSO_REST_GETUSERBYNAME_PATH=/apiman-gateway/b2b_test/getUserByName SSO_REST_GETUSERBYEMAIL_PATH=/apiman-gateway/b2b_test/getUserByEmail SSO_REST_RESETPASSWORD_PATH=/apiman-gateway/b2b_test/resetPassword SSO_REST_GETUSERBYPARAM_PATH=/apiman-gateway/b2b_test/getUserByParam BRUCE_HOST=<ip адрес сервиса> BRUCE_PORT=8008 ########################################################################### ##########################DB ELTEX_PORTAL settings######################### ########################################################################### PORTAL_DB_URL=jdbc:mysql://<ip mariaDB>:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8 PORTAL_DB_USERNAME=javauser PORTAL_DB_PASSWORD=javapassword # NGW NGW_URL=http://<ip адрес сервиса>:8040 # DOORS DOORS_URL=http://<ip ip адрес сервиса>:9097/ DOORS_TIMEOUT=60 DOORS_USERNAME=user DOORS_PASSWORD=password # ELVIS ELVIS_URL=http://<ip адрес сервиса>:9001/epadmin/ ELVIS_TIMEOUT=60 |
При установке сервиса eltex-radius-nbi как приложения создается сертификат CA. При запуске сервиса в контейнере сертификат не создается - потребуется создать его вручную.
Данное действие выполняется как правило один раз, при первоначальной установке сервиса. Так же возможна перегенерация уже созданных сертификатов.
При разворачивании сервиса надо учитывать два возможных сценария:
В случае, если выполняется первый запуск сервиса в контейненере - потребуется сгенерировать сертификат CA. Для этого потребуется создать файл для docker-compose "docker-compose-ca.yml":
version: '3'
services:
eltex-radius-ca:
image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
environment:
- ANSWER_NBI_MAKE_SERVER_CERTIFICATE=1
- ANSWER_NBI_SERVER_CERTIFICATE_PERIOD=3650
- ANSWER_NBI_SERVER_CERTIFICATE_KEY=1234
command:
- /usr/lib/eltex-radius-nbi/eltex-radius-ca.sh
volumes:
- eltex-radius-ca:/var/lib/eltex-radius-nbi
volumes:
eltex-radius-ca: |
Выполнить запуск:
sudo docker-compose -f docker-compose-ca.yml up |
После этого в системе появится новый docker volume 'compose_eltex-radius-ca' с файлами сертификатов.
$ docker-compose -f docker-compose-ca.yml up
Starting compose_eltex-radius-nbi_1 ... done
Attaching to compose_eltex-radius-nbi_1
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | CA certificate already exists
eltex-radius-nbi_1 | Generating server certificate...
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | *** Input parameters ***
eltex-radius-nbi_1 | * MODE=server_cert
eltex-radius-nbi_1 | * CSR=server
eltex-radius-nbi_1 | * CSR_KEY=1234
eltex-radius-nbi_1 | * DAYS=3650
eltex-radius-nbi_1 | * DOMAIN=
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | * O=Eltex
eltex-radius-nbi_1 | * C=RU
eltex-radius-nbi_1 | * ST=Novosibirsk Oblast
eltex-radius-nbi_1 | * L=Novosibirsk
eltex-radius-nbi_1 | * OU=Wireless network IT
eltex-radius-nbi_1 | * EMAIL=eltex@eltex.nsk.ru
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | Invoked by root
eltex-radius-nbi_1 | ************************
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | RADIUS server certificate: radius.crt
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | Create certificate key: server.key
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | Generating RSA private key, 2048 bit long modulus (2 primes)
eltex-radius-nbi_1 | ..........................................................+++++
eltex-radius-nbi_1 | ............................................+++++
eltex-radius-nbi_1 | e is 65537 (0x010001)
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | Create certificate request: server.csr
eltex-radius-nbi_1 |
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | Sign certificate server.crt by CA wireless-ca
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | CA signing: server.csr -> server.crt:
eltex-radius-nbi_1 | Using configuration from /var/lib/eltex-radius-nbi/certificates/ca.config
eltex-radius-nbi_1 | Check that the request matches the signature
eltex-radius-nbi_1 | Signature ok
eltex-radius-nbi_1 | The Subject's Distinguished Name is as follows
eltex-radius-nbi_1 | commonName :ASN.1 12:'server'
eltex-radius-nbi_1 | organizationName :ASN.1 12:'Eltex'
eltex-radius-nbi_1 | organizationalUnitName:ASN.1 12:'Wireless network IT'
eltex-radius-nbi_1 | emailAddress :IA5STRING:'eltex@eltex.nsk.ru'
eltex-radius-nbi_1 | countryName :PRINTABLE:'RU'
eltex-radius-nbi_1 | stateOrProvinceName :ASN.1 12:'Novosibirsk Oblast'
eltex-radius-nbi_1 | localityName :ASN.1 12:'Novosibirsk'
eltex-radius-nbi_1 | Certificate is to be certified until Sep 12 10:36:50 2032 GMT (3650 days)
eltex-radius-nbi_1 |
eltex-radius-nbi_1 | Write out database with 1 new entries
eltex-radius-nbi_1 | Data Base Updated
eltex-radius-nbi_1 | updating: wireless-ca.crt (deflated 36%)
eltex-radius-nbi_1 | updating: server.crt (deflated 31%)
eltex-radius-nbi_1 | updating: server.csr (deflated 23%)
eltex-radius-nbi_1 | updating: server.key (deflated 23%)
eltex-radius-nbi_1 | updating: server.txt (deflated 25%)
eltex-radius-nbi_1 | Successfully generated the server certificate
eltex-radius-nbi_1 | URL of the server certificates:
eltex-radius-nbi_1 | http://localhost:8080/eltex-radius-nbi/certificates/server.zip
eltex-radius-nbi_1 | Run the script to setup Eltex RADIUS server:
eltex-radius-nbi_1 | /var/lib/eltex-radius-nbi/setup_er_eap.sh
compose_eltex-radius-nbi_1 exited with code 0
$ docker volume ls
DRIVER VOLUME NAME
local compose_eltex-radius-ca
$ docker inspect compose_eltex-radius-ca
[
{
"CreatedAt": "2022-09-15T17:36:50+07:00",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "compose",
"com.docker.compose.version": "1.25.0",
"com.docker.compose.volume": "eltex-radius-ca"
},
"Mountpoint": "/var/lib/docker/volumes/compose_eltex-radius-ca/_data",
"Name": "compose_eltex-radius-ca",
"Options": null,
"Scope": "local"
}
]
$ sudo ls -la /var/lib/docker/volumes/compose_eltex-radius-ca/_data
total 44
drwxrwxr-x 4 root root 4096 Sep 15 17:36 .
drwx-----x 3 root root 4096 Sep 15 17:35 ..
drwxr-xr-x 2 root root 4096 Sep 15 17:36 ca.db.certs
-rw-r--r-- 1 root root 429 Sep 15 17:36 ca.db.index
-rw-r--r-- 1 root root 20 Sep 15 17:36 ca.db.index.attr
-rw-r--r-- 1 root root 3 Sep 15 17:36 ca.db.serial
drwxrwxr-x 2 root root 4096 Sep 15 17:36 certificates
-rwxr-xr-x 1 root root 5771 Sep 15 17:36 setup_er_eap.sh
-rw-r--r-- 1 root root 1517 Sep 15 17:35 wireless-ca.crt
-rw------- 1 root root 1751 Sep 15 17:35 wireless-ca.key |
После создания сертификата контейнер завершит работу. При повторном запуске будет выполнена повторная генерация сертификата, старый при этом будет перезаписан.
Имя папки, в которой создается сертификат определяется именем папки, в которой находится файл docker-compose-ca.yml и выполняется запуск контейнера. "/var/lib/docker/volumes/<имя папки в которой выполняется запуск контейнера>_eltex-radius-ca/_data" |
В случае, если выполняется переход на запуск eltex-radius-nbi в контейнере - потребуется скопировать старый сертификат в новое месторасположение (создавать сертификат заново не надо!):
За архивировать папку с сертификатом на хосте, где установлен пакет eltex-radius-nbi:
sudo tar cvzf certs.tar.gz -C /var/lib/eltex-radius-nbi . |
Перенести на новый сервер (при необходимости) и распаковать:
sudo tar xvzf certs.tar.gz -C /var/lib/docker/volumes/compose_eltex-radius-ca/_data |
Проконтролировать владельца:
sudo chown -Rv root. /var/lib/docker/volumes/compose_eltex-radius-ca/_data |
Перед запуском контейнера надо убедиться, что сертификат CA создан и расположен в папке, как описано в разделе "Создание/копирование сертификата"! |
Остановить сервис eltex-radius-nbi
sudo service eltex-radius-nbi stop |
Выполнить запуск контейнера командой:
sudo docker-compose up -d |
После запуска контейнера проверить с помощью curl доступность ресурсов:
Удалить пакеты:
sudo apt purge eltex-radius-nbi |
Команда purge полностью удалит вместе с папками логи "/var/log/eltex-radius-nbi" и сертификаты " |
Если запуск контейнера выполняется на отдельном хосте - выполнить запуск командой:
sudo docker-compose up -d |
При необходимости изменить настройки проксирующего сервера nginx в файле "/etc/nginx/conf.d/softwlc.conf" в разделах, отвечающих за перенаправление трафика axis2 и eltex-radius-nbi:
location /axis2 {
# адрес tomcat
proxy_pass http://<IP-адрес нового сервера с контейнером eltex-radius-nbi>:8081;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /eltex-radius-nbi {
proxy_pass http://<IP-адрес нового сервера с контейнером eltex-radius-nbi>:8081;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
} |
Перечитать конфигурацию nginx:
sudo nginx -s reload |
В рамках поддержанных переменных окружения можно указать уровень логирования сервиса eltex-radius-nbi и вывод логов в консоль или отправку на сторонний сервер. Значения переменных задаются в файле "eltex-radius-nbi.env".
NBI_LOG_LEVEL=INFO - уровень логирования сервиса eltex-radius-nbi.
Уровень логирования, указанный в настройках "NBI_LOG_LEVEL" определяет максимальный уровень логирования, который может быть выведен в консоль или перенаправлен на сторонний сервер. |
NBI_CONSOLE_LEVEL=INFO - уровень логов консоли (но не выше уровня, указанного в настройке "NBI_LOG_LEVEL").
GELF_LEVEL=OFF - уровень логов, перенаправляемых на сторонний сервер (но не выше уровня, указанного в настройке "NBI_LOG_LEVEL").
GELF_HOST=udp:localhost - адрес стороннего сервера сбора логов.
GELF_PORT=12201 - порт стороннего сервера сбора логов.
| Переменная | Значение по умолчанию |
|---|---|
| CATALINA_OPTS | нет |
| RADIUS_JDBC_DBURL | jdbc:mysql://localhost/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| RADIUS_JDBC_USERNAME | javauser |
| RADIUS_JDBC_PASSWORD | javapassword |
| RADIUS_JDBC_MAXPOOLSIZE | 48 |
| RADIUS_JDBC_INUSE | yes |
| RADIUS_JDBC_REPLICA_DBURL | jdbc:mysql://localhost/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| RADIUS_JDBC_REPLICA_USERNAME | javauser |
| RADIUS_JDBC_REPLICA_PASSWORD | javapassword |
| RADIUS_JDBC_REPLICA_MAXPOOLSIZE | 48 |
| RADIUS_JDBC_REPLICA_INUSE | yes |
| EMS_JDBC_DBURL | jdbc:mysql://localhost/eltex_ems?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true |
| EMS_JDBC_USERNAME | javauser |
| EMS_JDBC_PASSWORD | javapassword |
| EMS_JDBC_MAXPOOLSIZE | 48 |
| EMS_JDBC_INUSE | yes |
| WIRELESS_JDBC_DBURL | jdbc:mysql://localhost/wireless?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| WIRELESS_JDBC_USERNAME | javauser |
| WIRELESS_JDBC_PASSWORD | javapassword |
| WIRELESS_JDBC_MAXPOOLSIZE | 48 |
| WIRELESS_JDBC_INUSE | yes |
| LOGS_JDBC_DBURL | jdbc:mysql://localhost/eltex_alert?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| LOGS_JDBC_USERNAME | javauser |
| LOGS_JDBC_PASSWORD | javapassword |
| LOGS_JDBC_MAXPOOLSIZE | 48 |
| LOGS_JDBC_INUSE | yes |
| ELTEX_AUTH_SERVICE_JDBC_DBURL | jdbc:mysql://localhost/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| ELTEX_AUTH_SERVICE_JDBC_USERNAME | javauser |
| ELTEX_AUTH_SERVICE_JDBC_PASSWORD | javapassword |
| ELTEX_AUTH_SERVICE_JDBC_MAXPOOLSIZE | 48 |
| ELTEX_AUTH_SERVICE_JDBC_INUSE | yes |
| EMS_NBI_HOST | 127.0.0.1 |
| EMS_NBI_PORT | 8080 |
| EMS_NBI_PATH | northbound |
| EMS_NBI_PROTOCOL | http |
TOMCAT_HOST | 127.0.0.1 |
TOMCAT_PORT | 8080 |
| PCRF_ENABLED | true |
| PCRF_URL | http://localhost:7070 |
| PCRF_USERNAME | admin |
| PCRF_PASSWORD | password |
| PCRF_READTIMEOUT | 11 |
| PCRF_WRITETIMEOUT | 11 |
| PCRF_JDBC_DBURL | jdbc:mysql://localhost:3306/eltex_pcrf?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| PCRF_JDBC_USERNAME | javauser |
| PCRF_JDBC_PASSWORD | javapassword |
| WIFI_CAB_JDBC_DBURL | jdbc:mysql://localhost:3306/eltex_wifi_customer_cab?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| WIFI_CAB_JDBC_USERNAME | javauser |
| WIFI_CAB_JDBC_PASSWORD | javapassword |
| WIFICAB_TIMEOUT | 90000 |
| SORM2_JDBC_DBURL | jdbc:mysql://localhost:3306/eltex_sorm2?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| SORM2_JDBC_USERNAME | javauser |
| SORM2_JDBC_PASSWORD | javapassword |
| SORM2_ENABLED | false |
| SORM2_URL | http://localhost:7071 |
| SORM2_USERNAME | admin |
| SORM2_PASSWORD | password |
| SORM2_JDBC_INUSE | yes |
| SORM3_ENABLED | false |
| OTT_JDBC_DBURL | jdbc:mysql://localhost:3306/eltex_ott?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 |
| OTT_JDBC_USERNAME | javauser |
| OTT_JDBC_PASSWORD | javapassword |
| METRIC_PORT | 9010 |
| SSO_ENABLED | false |
| SSO_CLIENTSECRET | нет |
| SSO_CLIENTID | нет |
| SSO_REST_SERVER_PROTOCOL | http |
| SSO_REST_SERVER_ADDRESS | нет |
| SSO_REST_SERVER_PORT | 80 |
| SSO_REST_SERVER_TIMEOUT_SEC | 10 |
| SSO_REST_PROTOCOL_VERSION | 2.0 |
| SSO_REST_USERNAME | нет |
| SSO_REST_PASSWORD | нет |
| SSO_REST_GETTOKEN_PATH | /apiman-gateway/b2b_test/getToken |
| SSO_REST_GETUSERINFO_PATH | /apiman-gateway/b2b_test/getUserInfo |
| SSO_REST_ADDUSER_PATH | /apiman-gateway/b2b_test/addUser |
| SSO_REST_UPDATEUSER_PATH | /apiman-gateway/b2b_test/updateUser |
| SSO_REST_DELUSER_PATH | /apiman-gateway/b2b_test/delUser |
| SSO_REST_ADDUSERPARAM_PATH | /apiman-gateway/b2b_test/addUserParam |
| SSO_REST_DELUSERPARAM_PATH | /apiman-gateway/b2b_test/delUserParam |
| SSO_REST_GETUSERBYNAME_PATH | /apiman-gateway/b2b_test/getUserByName |
| SSO_REST_GETUSERBYEMAIL_PATH | /apiman-gateway/b2b_test/getUserByEmail |
| SSO_REST_RESETPASSWORD_PATH | /apiman-gateway/b2b_test/resetPassword |
| SSO_REST_GETUSERBYPARAM_PATH | /apiman-gateway/b2b_test/getUserByParam |
| BRUCE_HOST | eltex-bruce |
| BRUCE_PORT | 8008 |
| PORTAL_DB_URL | jdbc:mysql://localhost:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8 |
| PORTAL_DB_USERNAME | javauser |
| PORTAL_DB_PASSWORD | javapassword |
| NGW_URL | http://127.0.0.1:8040 |
| DOORS_URL | http://localhost:9097/ |
| DOORS_TIMEOUT | 60 |
| DOORS_USERNAME | user |
| DOORS_PASSWORD | password |
| ELVIS_URL | http://localhost:9001/epadmin/ |
| ELVIS_TIMEOUT | 60 |
| NBI_LOG_LEVEL | INFO |
| NBI_CONSOLE_LEVEL | INFO |
| GELF_LEVEL | OFF |
| GELF_HOST | udp:localhost |
| GELF_PORT | 12201 |
| TZ | Asia/Novosibirsk |
В файле "/etc/hosts" могут быть записи для разрешения доменных имен в IP-адреса. Данный файл не рекомендуется напрямую пробрасывать в контейнер, т.к. контейнер может изменять его. В таком случае следует в файл "docker-compose.yaml" добавить раздел:
extra_hosts:
- "<имя 1>:<IP-адрес 1>"
- "<имя 2>:<IP-адрес 2>"
- "<имя 3> <имя 4>:<IP-адрес 3>" |
version: '3'
services:
eltex-radius-nbi:
image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
ports:
- "8081:8081/tcp"
- "9010:9010/tcp"
hostname: NbiDocker
env_file: eltex-radius-nbi.env
environment:
# Настройки таймзоны
- TZ=${TZ}
# Настройки логирования
- NBI_LOG_LEVEL=${NBI_LOG_LEVEL}
- NBI_CONSOLE_LEVEL=${NBI_CONSOLE_LEVEL}
# Настройки Graylog
- GELF_LEVEL=${GELF_LEVEL}
- GELF_HOST=${GELF_HOST}
- GELF_PORT=${GELF_PORT}
volumes:
- eltex-radius-ca:/var/lib/eltex-radius-nbi
# логи
- /var/log/eltex-radius-nbi:/var/log/eltex-radius-nbi
extra_hosts:
- "<имя 1>:<IP-адрес 1>"
- "<имя 2>:<IP-адрес 2>"
- "<имя 3> <имя 4>:<IP-адрес 3>"
restart: unless-stopped
volumes:
eltex-radius-ca: |
В случае, если необходимо развернуть сервер на порту, отличном от 8081, необходимо в файл docker-compose.yml в блоке environment переменную SERVER_PORT, равную необходимому порту, например:
environment:
# Настройки таймзоны
- TZ=${TZ}
# Настройки логирования
- NBI_LOG_LEVEL=${NBI_LOG_LEVEL}
- NBI_CONSOLE_LEVEL=${NBI_CONSOLE_LEVEL}
# Настройки Graylog
- GELF_LEVEL=${GELF_LEVEL}
- GELF_HOST=${GELF_HOST}
- GELF_PORT=${GELF_PORT}
- SERVER_PORT=8080 |
После чего в файл environment-overrides/eltex-radius-nbi.env добавить запись следующего вида, указав вместо 8080 необходимый порт
TOMCAT_PORT=8080 |
После всех действий, перезагрузить контейнер командой:
sudo ./eltex-softwlc-helper-docker_1.34.sh --recreate-service eltex-radius-nbi |