Установка 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}'