diff --git a/check_install.sh b/check_install.sh new file mode 100644 index 0000000..1e55908 --- /dev/null +++ b/check_install.sh @@ -0,0 +1,47 @@ +#!/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 "Все предварительные проверки пройдены. Можете запускать основной скрипт."