|
|
@@ -35,7 +35,7 @@ log_info "Сервер: $(hostname) ($(hostname -I | awk '{print $1}'))"
|
|
|
log_info "Пользователь: $(whoami)"
|
|
|
log_info "Директория: $PROJECT_DIR"
|
|
|
|
|
|
-# 1. Проверка зависимостей
|
|
|
+# 1. Проверка зависимостей и прав доступа
|
|
|
check_deps() {
|
|
|
log_info "Проверка зависимостей..."
|
|
|
local missing=()
|
|
|
@@ -53,7 +53,20 @@ check_deps() {
|
|
|
log_info "Установите: sudo apt update && sudo apt install -y docker.io docker-compose-plugin git curl openssl"
|
|
|
exit 1
|
|
|
fi
|
|
|
- log_ok "Все зависимости установлены"
|
|
|
+
|
|
|
+ # Проверка прав доступа к docker
|
|
|
+ if ! docker info >/dev/null 2>&1; then
|
|
|
+ log_warn "Нет доступа к docker daemon. Пытаюсь добавить пользователя в группу docker..."
|
|
|
+ if sudo usermod -aG docker "$(whoami)" 2>/dev/null; then
|
|
|
+ log_ok "Пользователь добавлен в группу docker. Перезапустите скрипт или выполните: newgrp docker"
|
|
|
+ log_warn "Выполните: newgrp docker && bash $0"
|
|
|
+ exit 0
|
|
|
+ else
|
|
|
+ log_err "Не удалось добавить в группу docker. Запустите от sudo или настройте права вручную."
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+ log_ok "Все зависимости установлены, права доступа к docker OK"
|
|
|
}
|
|
|
|
|
|
# 2. Клонирование/обновление репозитория
|
|
|
@@ -226,7 +239,12 @@ create_docker_secrets() {
|
|
|
deploy() {
|
|
|
log_info "Запуск docker compose..."
|
|
|
cd "$PROJECT_DIR"
|
|
|
- docker compose -f deploy/docker-compose.prod.yml up -d --build --remove-orphans
|
|
|
+ # Загружаем переменные окружения для docker compose
|
|
|
+ if [ -f "$ENV_FILE" ]; then
|
|
|
+ docker compose --env-file "$ENV_FILE" -f deploy/docker-compose.prod.yml up -d --build --remove-orphans
|
|
|
+ else
|
|
|
+ docker compose -f deploy/docker-compose.prod.yml up -d --build --remove-orphans
|
|
|
+ fi
|
|
|
log_ok "Контейнеры запущены"
|
|
|
}
|
|
|
|