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
ᅠ