Установка ApiDQ приложения

Установка ApiDQ приложения #

Установка docker #

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce

Выполнение команды Docker без sudo #

Если вы не хотите вводить sudo при каждом запуске команды docker, добавьте свое имя пользователя в группу docker:

 sudo usermod -aG docker ${USER}

Чтобы изменения вступили в силу, выйдите из сервера и снова войдите или введите следующее:

 su - ${USER}

Вам будет предложено ввести пароль пользователя, чтобы продолжить.

Установка Docker Compose #

Запустите эту команду, чтобы загрузить текущую стабильную версию Docker Compose.

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Подключение к ApiShip Docker Registry #

Запустите эту команду, чтобы загрузить текущую стабильную версию Docker Compose.

export DOCKER_REGISTRY=gitlab.apiship.ru:5050/apidq/apidq
docker login gitlab.apiship.ru:5050

Username: gitlab_login - login to access the GitLab server
Password: gitlab_password - password to access the GitLab server

Настройка и запуск приложения #

Создайте apidq папку

mkdir apidq
cd apidq

Создание файлов конфигурации #

Создайте файл address-config.toml следующего содержания

[main]
ListenAddr = "0.0.0.0" #  ip address where the address service will be available 
ListenPort = "8083" #  port where the address service will be available 
Debug = false
[logger]
Facility = "service-address"
[postgresql]
Address = "0.0.0.0" #  ip postgresql server
Port = "5432" #  port postgresql server
Dbname = "apidq" #  apidq database
User = "apidq"
Password = "apidq"
[license]
Key = "1sy6hgXA699LPoatkt2jeu3VCtm1x1sy6hgXA699LPoahchbS9C9OshefuP_v-Ebtvg="

Создайте файл gateway-config.toml следующего содержания

[main]
ListenAddr = "0.0.0.0" #  ip address where service will be available 
ListenPort = "8080" #  port where service will be available 
ReadTimeout = 60000
WriteTimeout = 60000
Debug = false
[logger]
Facility = "service-gateway"
[addressService]
Enabled = true
EndpointAddr = "address" #  ip address or host  service from address-config.toml
EndpointPort = "8083" #  port service from address-config.toml

Создайте файл docker-compose.yaml следующего содержания

version: "3.0"
services:
  gateway:
    image: "gitlab.apiship.ru:5050/apidq/apidq/apidq-service-gateway:latest"
    ports:
      - "8080:8080"
    volumes:
      - ./gateway-config.toml:/dist/config.toml
  address:
    image: "gitlab.apiship.ru:5050/apidq/apidq/apidq-service-address:latest"
    volumes:
      - ./address-config.toml:/dist/config.toml

Запустить и проверить приложение #

 docker-compose up -d

Проверить clean/address (стандартизация адресов)

curl --location --request POST 'http://0.0.0.0:8080/api/v1/clean/address' \
--header 'Content-Type: application/json' \
--data-raw '{
    "query": "котлас кузнецова 14в 132",
    "countryCode": "RU"
}'

Проверить suggest/address (адресные подсказки)

curl --location --request POST 'http://0.0.0.0:8080/api/v1/suggest/address' \
--header 'Content-Type: application/json' \
--data-raw '{"query": "москва варш","countryCode": "RU","count": 2}'