48 lines
1.8 KiB
Bash
48 lines
1.8 KiB
Bash
|
#!/bin/bash
|
|||
|
|
|||
|
# Установите переменные с именами контейнеров и портами
|
|||
|
nextcloud_container="app-server"
|
|||
|
nginx_container="nginx-server"
|
|||
|
onlyoffice_container="onlyoffice-document-server"
|
|||
|
|
|||
|
# Порты, используемые в Docker Compose файле
|
|||
|
nextcloud_port=888 # Порт для Nextcloud
|
|||
|
nginx_http_port=8080 # HTTP порт для NGINX
|
|||
|
nginx_https_port=444 # HTTPS порт для NGINX
|
|||
|
|
|||
|
# Проверка наличия Docker
|
|||
|
if ! command -v docker &> /dev/null
|
|||
|
then
|
|||
|
echo "Docker не установлен. Пожалуйста, установите Docker перед продолжением."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
# Проверка наличия Docker Compose
|
|||
|
if ! command -v docker-compose &> /dev/null
|
|||
|
then
|
|||
|
echo "Docker Compose не установлен. Пожалуйста, установите Docker Compose перед продолжением."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
# Проверка наличия и статуса контейнеров
|
|||
|
containers=($nextcloud_container $nginx_container $onlyoffice_container)
|
|||
|
for container in "${containers[@]}"
|
|||
|
do
|
|||
|
if [ "$(docker ps -q -f name=$container)" ]; then
|
|||
|
echo "Контейнер $container уже запущен. Проверьте и остановите его при необходимости."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
done
|
|||
|
|
|||
|
# Проверка доступности портов
|
|||
|
ports=($nextcloud_port $nginx_http_port $nginx_https_port)
|
|||
|
for port in "${ports[@]}"
|
|||
|
do
|
|||
|
if lsof -i:$port > /dev/null ; then
|
|||
|
echo "Порт $port занят. Проверьте и освободите его перед запуском."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
done
|
|||
|
|
|||
|
echo "Все предварительные проверки пройдены. Можете запускать основной скрипт."
|