feat: добавлен env.example и команда make setup
- Создан файл env.example с полным набором переменных окружения - Добавлена команда make setup для копирования env.example в .env - Обновлен docker-compose.yml для использования переменных из .env - Добавлен .gitignore для исключения .env и временных файлов - Обновлен README.md с инструкциями по настройке переменных окружения - Добавлена таблица основных переменных окружения - Автор: Сергей Антропов (https://devops.org.ru)
This commit is contained in:
parent
c74e5ec15e
commit
c6310ec359
79
.gitignore
vendored
Normal file
79
.gitignore
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
# LogBoard+ - .gitignore
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
# Переменные окружения
|
||||
.env
|
||||
.env.local
|
||||
.env.production
|
||||
.env.staging
|
||||
|
||||
# Логи
|
||||
*.log
|
||||
logs/
|
||||
log/
|
||||
|
||||
# Временные файлы
|
||||
*.tmp
|
||||
*.temp
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# Снимки логов
|
||||
snapshots/
|
||||
*.snapshot
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# Virtual environments
|
||||
venv/
|
||||
env/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
||||
# Docker
|
||||
.dockerignore
|
||||
|
||||
# Backup files
|
||||
*.bak
|
||||
*.backup
|
||||
*.old
|
14
Makefile
14
Makefile
@ -2,7 +2,7 @@
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
.PHONY: help build up down restart logs clean status ps shell
|
||||
.PHONY: help setup build up down restart logs clean status ps shell
|
||||
|
||||
# Переменные
|
||||
COMPOSE_FILE = docker-compose.yml
|
||||
@ -21,12 +21,24 @@ help: ## Показать справку по командам
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " $(GREEN)%-15s$(NC) %s\n", $$1, $$2}'
|
||||
@echo ""
|
||||
@echo "$(YELLOW)Примеры использования:$(NC)"
|
||||
@echo " make setup # Настроить переменные окружения"
|
||||
@echo " make build # Собрать образ"
|
||||
@echo " make up # Запустить сервисы"
|
||||
@echo " make down # Остановить сервисы"
|
||||
@echo " make restart # Перезапустить сервисы"
|
||||
@echo " make logs # Показать логи"
|
||||
|
||||
setup: ## Настроить переменные окружения (копировать env.example в .env)
|
||||
@echo "$(GREEN)Настройка переменных окружения...$(NC)"
|
||||
@if [ ! -f .env ]; then \
|
||||
cp env.example .env; \
|
||||
echo "$(GREEN)Файл .env создан из env.example$(NC)"; \
|
||||
echo "$(YELLOW)Не забудьте отредактировать .env под свои нужды!$(NC)"; \
|
||||
else \
|
||||
echo "$(YELLOW)Файл .env уже существует.$(NC)"; \
|
||||
echo "$(YELLOW)Для пересоздания удалите .env и запустите make setup$(NC)"; \
|
||||
fi
|
||||
|
||||
build: ## Собрать Docker образ
|
||||
@echo "$(GREEN)Сборка Docker образа...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) build --no-cache
|
||||
|
41
README.md
41
README.md
@ -33,6 +33,12 @@ cd logboard_plus
|
||||
# Показать доступные команды
|
||||
make help
|
||||
|
||||
# Настроить переменные окружения
|
||||
make setup
|
||||
|
||||
# Отредактировать .env файл под свои нужды (опционально)
|
||||
# nano .env
|
||||
|
||||
# Собрать и запустить проект
|
||||
make build
|
||||
make up
|
||||
@ -46,6 +52,7 @@ http://localhost:9001
|
||||
| Команда | Описание |
|
||||
|---------|----------|
|
||||
| `make help` | Показать справку по всем командам |
|
||||
| `make setup` | Настроить переменные окружения (копировать env.example в .env) |
|
||||
| `make build` | Собрать Docker образ |
|
||||
| `make up` | Запустить сервисы в фоновом режиме |
|
||||
| `make down` | Остановить и удалить сервисы |
|
||||
@ -58,6 +65,36 @@ http://localhost:9001
|
||||
| `make dev` | Запуск в режиме разработки (с выводом логов) |
|
||||
| `make rebuild` | Пересобрать и запустить сервисы |
|
||||
|
||||
### Настройка переменных окружения
|
||||
|
||||
Проект использует файл `.env` для хранения всех настроек. Для настройки:
|
||||
|
||||
1. **Автоматическая настройка:**
|
||||
```bash
|
||||
make setup
|
||||
```
|
||||
|
||||
2. **Ручная настройка:**
|
||||
```bash
|
||||
cp env.example .env
|
||||
nano .env # или любой другой редактор
|
||||
```
|
||||
|
||||
#### Основные переменные окружения:
|
||||
|
||||
| Переменная | Описание | Значение по умолчанию |
|
||||
|------------|----------|----------------------|
|
||||
| `LOGBOARD_PORT` | Порт веб-интерфейса | `9001` |
|
||||
| `LOGBOARD_USER` | Имя пользователя для Basic Auth | `admin` |
|
||||
| `LOGBOARD_PASS` | Пароль для Basic Auth | `s3cret-change-me` |
|
||||
| `LOGBOARD_TAIL` | Количество строк истории | `500` |
|
||||
| `LOGBOARD_SNAPSHOT_DIR` | Директория для снимков | `/app/snapshots` |
|
||||
| `COMPOSE_PROJECT_NAME` | Фильтр по проекту Docker Compose | (пусто) |
|
||||
| `SECRET_KEY` | Секретный ключ для шифрования | `your-secret-key-here` |
|
||||
| `ENCRYPTION_KEY` | Ключ шифрования | `your-encryption-key-here` |
|
||||
|
||||
**⚠️ Важно:** Измените значения `LOGBOARD_PASS`, `SECRET_KEY` и `ENCRYPTION_KEY` в продакшене!
|
||||
|
||||
### Классический способ
|
||||
|
||||
```bash
|
||||
@ -65,6 +102,10 @@ http://localhost:9001
|
||||
unzip logboard_plus_fanin_groups.zip
|
||||
cd logboard_plus
|
||||
|
||||
# Настроить переменные окружения
|
||||
cp env.example .env
|
||||
# Отредактировать .env файл
|
||||
|
||||
# Запуск через docker-compose
|
||||
docker compose up --build -d
|
||||
|
||||
|
@ -5,15 +5,34 @@ services:
|
||||
build: .
|
||||
container_name: logboard
|
||||
environment:
|
||||
LOGBOARD_PORT: "9001"
|
||||
LOGBOARD_TAIL: "500"
|
||||
LOGBOARD_USER: "admin"
|
||||
LOGBOARD_PASS: "s3cret-change-me"
|
||||
# COMPOSE_PROJECT_NAME: "myproj" # filter only this compose stack
|
||||
LOGBOARD_SNAPSHOT_DIR: "/app/snapshots"
|
||||
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}
|
||||
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:
|
||||
- "9001:9001"
|
||||
- "${LOGBOARD_PORT:-9001}:${LOGBOARD_PORT:-9001}"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./snapshots:/app/snapshots
|
||||
- ./snapshots:${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots}
|
||||
restart: unless-stopped
|
||||
|
50
env.example
Normal file
50
env.example
Normal file
@ -0,0 +1,50 @@
|
||||
# LogBoard+ - Переменные окружения
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
# Основные настройки приложения
|
||||
LOGBOARD_PORT=9001
|
||||
LOGBOARD_TAIL=500
|
||||
LOGBOARD_USER=admin
|
||||
LOGBOARD_PASS=s3cret-change-me
|
||||
|
||||
# Директория для снимков логов
|
||||
LOGBOARD_SNAPSHOT_DIR=/app/snapshots
|
||||
|
||||
# Фильтр по проекту Docker Compose (опционально)
|
||||
# COMPOSE_PROJECT_NAME=myproj
|
||||
|
||||
# Настройки Docker
|
||||
DOCKER_HOST=unix:///var/run/docker.sock
|
||||
|
||||
# Настройки безопасности
|
||||
# Измените эти значения на свои в продакшене
|
||||
SECRET_KEY=your-secret-key-here
|
||||
ENCRYPTION_KEY=your-encryption-key-here
|
||||
|
||||
# Настройки логирования
|
||||
LOG_LEVEL=INFO
|
||||
LOG_FORMAT=json
|
||||
|
||||
# Настройки веб-интерфейса
|
||||
WEB_TITLE=LogBoard+
|
||||
WEB_DESCRIPTION=Веб-панель для просмотра логов микросервисов
|
||||
WEB_VERSION=1.0.0
|
||||
|
||||
# Настройки производительности
|
||||
MAX_CONNECTIONS=100
|
||||
CONNECTION_TIMEOUT=30
|
||||
READ_TIMEOUT=60
|
||||
|
||||
# Настройки аутентификации
|
||||
AUTH_ENABLED=true
|
||||
AUTH_METHOD=basic
|
||||
SESSION_TIMEOUT=3600
|
||||
|
||||
# Настройки уведомлений
|
||||
NOTIFICATIONS_ENABLED=false
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=
|
||||
SMTP_PASS=
|
||||
SMTP_FROM=
|
Loading…
x
Reference in New Issue
Block a user