From 662f83cde5a48ff1d3ed784697b176ca4073fef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=90=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BF=D0=BE=D0=B2?= Date: Sat, 16 Aug 2025 11:31:00 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20=D1=83=D0=BF=D1=80=D0=BE=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20-=20=D0=B7=D0=B0=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=20=D1=81=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B0=D0=BC?= =?UTF-8?q?=D0=B8=20root=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Убраны альтернативные команды up-root и down-root - Удален файл docker-compose.root.yml - Команды make up, make down, make restart теперь используют права root по умолчанию - Обновлены сообщения в Makefile для указания использования прав root - Упрощена документация в README.md - Убрана группа docker из docker-compose.yml (оставлен только user: 0:0) - Автор: Сергей Антропов (https://devops.org.ru) --- Makefile | 29 +++++++++----------------- README.md | 19 +++++------------ docker-compose.root.yml | 46 ----------------------------------------- docker-compose.yml | 2 -- 4 files changed, 15 insertions(+), 81 deletions(-) delete mode 100644 docker-compose.root.yml diff --git a/Makefile b/Makefile index a1fc6aa..8b35fed 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # Автор: Сергей Антропов # Сайт: https://devops.org.ru -.PHONY: help setup build up down restart logs clean status ps shell up-root down-root +.PHONY: help setup build up down restart logs clean status ps shell # Переменные COMPOSE_FILE = docker-compose.yml @@ -44,21 +44,21 @@ build: ## Собрать Docker образ docker compose -f $(COMPOSE_FILE) build --no-cache @echo "$(GREEN)Образ собран успешно!$(NC)" -up: ## Запустить сервисы в фоновом режиме - @echo "$(GREEN)Запуск сервисов...$(NC)" +up: ## Запустить сервисы в фоновом режиме (с правами root) + @echo "$(GREEN)Запуск сервисов с правами root...$(NC)" docker compose -f $(COMPOSE_FILE) up -d - @echo "$(GREEN)Сервисы запущены!$(NC)" + @echo "$(GREEN)Сервисы запущены с правами root!$(NC)" @echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)" -down: ## Остановить и удалить сервисы - @echo "$(YELLOW)Остановка сервисов...$(NC)" +down: ## Остановить и удалить сервисы (с правами root) + @echo "$(YELLOW)Остановка сервисов с правами root...$(NC)" docker compose -f $(COMPOSE_FILE) down - @echo "$(GREEN)Сервисы остановлены!$(NC)" + @echo "$(GREEN)Сервисы с правами root остановлены!$(NC)" -restart: ## Перезапустить сервисы - @echo "$(YELLOW)Перезапуск сервисов...$(NC)" +restart: ## Перезапустить сервисы (с правами root) + @echo "$(YELLOW)Перезапуск сервисов с правами root...$(NC)" docker compose -f $(COMPOSE_FILE) restart - @echo "$(GREEN)Сервисы перезапущены!$(NC)" + @echo "$(GREEN)Сервисы с правами root перезапущены!$(NC)" logs: ## Показать логи сервисов @echo "$(GREEN)Логи сервисов:$(NC)" @@ -99,13 +99,4 @@ rebuild: ## Пересобрать и запустить сервисы @echo "$(GREEN)Сервисы пересобраны и запущены!$(NC)" @echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)" -up-root: ## Запустить сервисы с правами root (для решения проблем с Docker socket) - @echo "$(GREEN)Запуск сервисов с правами root...$(NC)" - docker compose -f docker-compose.root.yml up -d - @echo "$(GREEN)Сервисы запущены с правами root!$(NC)" - @echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)" -down-root: ## Остановить сервисы с правами root - @echo "$(YELLOW)Остановка сервисов с правами root...$(NC)" - docker compose -f docker-compose.root.yml down - @echo "$(GREEN)Сервисы с правами root остановлены!$(NC)" diff --git a/README.md b/README.md index c94d334..b463c93 100644 --- a/README.md +++ b/README.md @@ -54,9 +54,9 @@ http://localhost:9001 | `make help` | Показать справку по всем командам | | `make setup` | Настроить переменные окружения (копировать env.example в .env) | | `make build` | Собрать Docker образ | -| `make up` | Запустить сервисы в фоновом режиме | -| `make down` | Остановить и удалить сервисы | -| `make restart` | Перезапустить сервисы | +| `make up` | Запустить сервисы в фоновом режиме (с правами root) | +| `make down` | Остановить и удалить сервисы (с правами root) | +| `make restart` | Перезапустить сервисы (с правами root) | | `make logs` | Показать логи сервисов в реальном времени | | `make logs-tail` | Показать последние 100 строк логов | | `make status` | Показать статус сервисов | @@ -97,19 +97,10 @@ http://localhost:9001 **⚠️ Важно:** Измените значения `LOGBOARD_PASS`, `SECRET_KEY` и `ENCRYPTION_KEY` в продакшене! -### Решение проблем с правами доступа к Docker +### Настройка прав доступа к Docker -Если вы получаете ошибку `Permission denied` при подключении к Docker socket, используйте команды с правами root: +Приложение запускается с правами root для корректного доступа к Docker socket. Если вы хотите запускать без прав root, добавьте вашего пользователя в группу docker: -```bash -# Запуск с правами root -make up-root - -# Остановка с правами root -make down-root -``` - -Или добавьте вашего пользователя в группу docker: ```bash sudo usermod -a -G docker $USER # Перезагрузите систему или перелогиньтесь diff --git a/docker-compose.root.yml b/docker-compose.root.yml deleted file mode 100644 index 2b6bbb8..0000000 --- a/docker-compose.root.yml +++ /dev/null @@ -1,46 +0,0 @@ -# LogBoard+ - Docker Compose с правами root -# Автор: Сергей Антропов -# Сайт: https://devops.org.ru -# Используйте этот файл, если основной не работает из-за прав доступа к Docker socket - -version: "3.9" - -services: - logboard: - build: . - container_name: logboard - environment: - LOGBOARD_PORT: ${LOGBOARD_PORT:-9001} - LOGBOARD_TAIL: ${LOGBOARD_TAIL:-500} - LOGBOARD_USER: ${LOGBOARD_USER:-admin} - LOGBOARD_PASS: ${LOGBOARD_PASS:-s3cret-change-me} - COMPOSE_PROJECT_NAME: ${COMPOSE_PROJECT_NAME:-} - LOGBOARD_SNAPSHOT_DIR: ${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots} - LOGBOARD_INDEX_HTML: ${LOGBOARD_INDEX_HTML:-./templates/index.html} - TZ_TS: ${TZ_TS:-} - SECRET_KEY: ${SECRET_KEY:-your-secret-key-here} - ENCRYPTION_KEY: ${ENCRYPTION_KEY:-your-encryption-key-here} - LOG_LEVEL: ${LOG_LEVEL:-INFO} - LOG_FORMAT: ${LOG_FORMAT:-json} - WEB_TITLE: ${WEB_TITLE:-LogBoard+} - WEB_DESCRIPTION: ${WEB_DESCRIPTION:-Веб-панель для просмотра логов микросервисов} - WEB_VERSION: ${WEB_VERSION:-1.0.0} - MAX_CONNECTIONS: ${MAX_CONNECTIONS:-100} - CONNECTION_TIMEOUT: ${CONNECTION_TIMEOUT:-30} - READ_TIMEOUT: ${READ_TIMEOUT:-60} - AUTH_ENABLED: ${AUTH_ENABLED:-true} - AUTH_METHOD: ${AUTH_METHOD:-basic} - SESSION_TIMEOUT: ${SESSION_TIMEOUT:-3600} - NOTIFICATIONS_ENABLED: ${NOTIFICATIONS_ENABLED:-false} - SMTP_HOST: ${SMTP_HOST:-} - SMTP_PORT: ${SMTP_PORT:-587} - SMTP_USER: ${SMTP_USER:-} - SMTP_PASS: ${SMTP_PASS:-} - SMTP_FROM: ${SMTP_FROM:-} - ports: - - "${LOGBOARD_PORT:-9001}:${LOGBOARD_PORT:-9001}" - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - - ./snapshots:${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots} - restart: unless-stopped - user: "0:0" # Запуск от root для доступа к Docker socket diff --git a/docker-compose.yml b/docker-compose.yml index 038b1b2..426a20a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,5 +37,3 @@ services: - ./snapshots:${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots} restart: unless-stopped user: "0:0" # Запуск от root для доступа к Docker socket - group_add: - - docker