6.6. Инструкция администратора для NextGIS GeoServices¶
6.6.1. Введение¶
В настоящей инструкции приведен порядок развертывания ПО NextGIS GeoServices. В качестве преимущественного способа развертывания и работы ПО предполагается использование технологии Docker и средство docker-compose. Все шаги необходимо выполнять в ОС на базе Linux.
6.6.2. Выбор адресов подключения¶
NextGIS GeoServices использует одну точку подключения по HTTP (или HTTPS). Веб-интерфейс NextGIS GeoServices и API - основной адрес по которому пользователи взаимодействуют с продуктом. Значение по умолчанию - http://server.example.com:8088, где server.example.com DNS-имя сервера, на котором развернут продукт. В крайнем случае вместо server.example.com можно использовать IP-адрес сервера.
Если ваша ИТ-инфраструктура позволяет, рекомендуется настроить обратный прокси-сервер (reverse proxy) для обеспечения TLS-шифрования и работы через HTTPS. Это особенно важно, если доступ к продукту будет осуществляться не только из локальной сети, но и через Интернет. В этом случае адреса точек подключения зависят от настроек обратного прокси-сервера.
Совместно с вашим ИТ-департаментом и выберите адреса, которые вы хотите использовать и запишите их, они потребуются в дальнейшем. Настройка обратного прокси-сервера должна выполняется силами ИТ-департамента клиента и не относится к области ответственности компании NextGIS. Необходимые параметры приведены ниже на примере Nginx.
6.6.3. Установка и настройка Docker¶
Если на сервере еще не установлен Docker Engine и Docker Compose их нужно установить или обновить до актуальных версий:
Для получения образов необходимо выполнить авторизацию в NextGIS Container Registry c использованием имени пользователя (example) и пароля (sesame), предоставленного компанией NextGIS:
$ docker login cr.nextgis.com -u example -p sesame
Login Succeeded
В случае если развертывание осуществляется на сервере без доступа к Интернет, то вместо этого шага свяжитесь со службой поддержки для получения архива образов в виде одного файла. Его нужно будет перенести на сервер и загрузить образы командой docker load.
6.6.4. Установка NextGIS GeoServices¶
На сервере, где планируется развернуть GeoServices, создайте директорию /srv/geoservices
и перейдите в нее, скачайте шаблон конфигурации (docker-compose-2.16.1.tar.bz2
, где 2.16.1 - текущая версия) и распакуйте его. Если установка производится на сервере без доступа в Интернет, скачайте файл на другом ПК и перенесите его на сервер.
$ mkdir /srv/geoservices
$ cd /srv/geoservices
$ wget https://nextgis.com/onpremise/geoservices/docker-compose-2.16.1.tar.bz2
$ tar jxf docker-compose-2.16.1.tar.bz2
Отредактируйте файл .env в текстовом редакторе заполнив значения переменных: POSTGRES_PASSWORD, DB_PASSWORD, BM_DB_PASSWORD (должны иметь одинаковые значения), ADMIN_PASSWORD и SESSION_KEY. В итоге должно получится приблизительно следующее:
IMAGE_VERSION=2.16.1
IMAGE_BASE=cr.nextgis.com/geoservices
COMPOSE_BIND=0.0.0.0
DEBUG=false
S3_SSL=false
EXT_SOURCES_SUPPORT=false
POSTGRES_USER=geoservices
SESSION_KEY=secret1
POSTGRES_PASSWORD=secret2
DB_PASSWORD=secret2
BM_DB_PASSWORD=secret2
ADMIN_PASSWORD=secret3
После этого можно запускать стек Docker Compose, вначале рекомендуется запустить сервис postgres, подождать полминуты и затем уже запустить остальное:
$ docker compose up -d postgres && sleep 30
[+] Running 3/3
✔ Network geoservices_default Created 0.0s
✔ Volume "geoservices_postgres" Created 0.1s
✔ Container geoservices-postgres-1 Started 4.2s
$ docker compose up -d
[+] Running 8/8
✔ Volume "geoservices_s3" Created 0.0s
✔ Volume "geoservices_secret" Created 0.1s
✔ Volume "geoservices_data" Created 0.0s
✔ Volume "geoservices_redis" Created 0.1s
✔ Container geoservices-postgres-1 Running 0.0s
✔ Container geoservices-redis-1 Started 7.3s
✔ Container geoservices-s3-1 Started 7.5s
✔ Container geoservices-app-1 Started 5.9s
На этом установка завершена, если используется HTTPS, то на этом этапе выполните настройку обратного прокси-сервера. Если нет, то сразу приступайте к проверке работоспособности.
6.6.5. Рекомендации по настройке обратного прокси-сервера¶
Для обеспечения HTTPS шифрования мы рекомендуем использовать обратный прокси-сервер на базе Nginx, для справки приведем пример фрагмента конфигурационного файла для geoservices.example.com:
server {
server_name geoservices.example.com;
# Директивы сервера: listen, ssl_* и пр.
location / {
client_max_body_size 2G;
proxy_http_version 1.1;
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Директива client_max_body_size определяет максимальный размер загружаемого файла (в примере 2 GiB).
6.6.6. Проверка работоспособности¶
Откройте в браузере веб-интерфейс NextGIS GeoServices по адресу, который вы выбрали.
Должна открыться страница ввода имени пользователя и пароля. Введите имя пользователя admin и пароль, который вы указали в переменной ADMIN_PASSWORD.
Если перейти на страницу О проекте, то страница должна выглядеть следующим образом.

Рис. 6.27. Раздел «О проект延