refactor: упрощена конфигурация - запуск с правами root по умолчанию

- Убраны альтернативные команды 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)
This commit is contained in:
Сергей Антропов 2025-08-16 11:31:00 +03:00
parent fa42bfa83e
commit 662f83cde5
4 changed files with 15 additions and 81 deletions

View File

@ -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)"

View File

@ -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
# Перезагрузите систему или перелогиньтесь

View File

@ -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

View File

@ -37,5 +37,3 @@ services:
- ./snapshots:${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots}
restart: unless-stopped
user: "0:0" # Запуск от root для доступа к Docker socket
group_add:
- docker