Обновление сервера BAS-IP Link

BAS-IP Link поставляется в нескольких Docker контейнерах и разворачивается с помощью docker-compose. 

ПО имеет 2 версии: 1) Бесплатная базовая версия 2) Расширенная версия - отличается от базовой поддержкой SIP телефонии.

По установке и запуску ПО BAS-IP Link есть официальная статьяwiki.bas-ip.com/basiplink/

В нашей же статье мы рассмотрим весь путь обновления версии Link.

Итак, чтобы проверить версию Link, необходимо выйти из пользователя в web-интерфейсе. В нижнем правом углу будет отображена версия BAS-IP Link.

Для обновления старого BAS-IP Link на новый, необходимо сделать следующее:
1) Создать полный backup с BAS-IP Link, со всеми данными и конфигурацией;
2) Удалить старый Link, если он ставился на ПК, или же создать новую виртуальную машину с установкой чистого Ubuntu Server 18.04 или выше - если ставился на VirtualBox;
3) Установить новый Link;
4) Залить скачанный ранее backup на новый Link.

● Попадаем в web-интерфейс BAS-IP Link и делаем полный backup со всеми данными и конфигурацией:


● В нашем случае BAS-IP Link был установлен на ПК под управлением Ubuntu 19.10. Этот вариант подразумевает то, что BAS-IP Link был поставлен в нескольких Docker контейнерах и развернут с помощью docker-compose.

Следовательно для удаления BAS-IP Link выполняем следующие команды:

docker logs link-app
docker ps
docker rm link
docker stop link
docker rm link
docker ps
sudo apt-get remove docker docker-engine docker.io containerd runc

Проверяем web интерфейс BAS-IP Link. Не активен. Отлично....

● После успешного удаления BAS-IP Link, приступаем к установке новой его версии.

# Выполнить настройку репозитория:
## Выполнить обновление индекса apt и установить зависимости:

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

## Добавить GPG ключ Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

## Добавить репозиторий:

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Установить Docker:

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

Устанавливаем docker-compose для своего дистрибутива:

# Скачиваем docker-compose:

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

# Даем права выполнения для файла:

sudo chmod +x /usr/local/bin/docker-compose

# Добавляем симлинк:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

● Клонируем проект из репозитория:

git clone https://github.com/basip/link.git

● Для расширенной версии создать требуемые docker volumes:

docker volume create --name=app-data
docker volume create --name=app-storage
docker volume create --name=system-logs

● Для версии с прокси создать требуемый docker volume:

docker volume create --name=app-ssl-certs

● Запустить проект:

cd link
cd without-sip
docker-compose up -d

● После успешного запуска проекта приложение будет доступно на 80/443 порту IP адреса вашего сервера, в зависимости от выбранной версии проекта.

 

Прошу заметить: когда апдейт идёт со старого на новый, отваливается база. Как оказалось, в 100% случаев. Потому приходится лечить по ссылке:

https://github.com/basip/link/tree/master/upgrade-link-v1.1.x

Перезапускаем сервер и приступаем к лечению:

sudo su
cd ../
mkdir link-upgrade
git clone https://github.com/basip/link.git /home/link-upgrade
cd link-upgrade
cd upgrade-link-v1.1.x

cp db-upgrade.sql /home/link-upgrade
cd ../
docker exec -i link-db /bin/sh -c "mysql -uroot -pQwerty12345" < /home/link-upgrade/db-upgrade.sql
docker logs link-app

Проверяем web-интерфейс. Если "все плохо", продолжаем:

cd ../
cd link
ls
cd
cd link
ls
docker ps
ifconfig enp0s3

Проверяем обновленный BAS-IP Link

Источник: wiki.bas-ip.com

Related Articles