#!/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 "Все предварительные проверки пройдены. Можете запускать основной скрипт."