feat: добавлена поддержка внешних Docker сетей через переменные окружения

- Добавлена переменная DOCKER_NETWORKS в env.example
- Создан скрипт scripts/generate-compose.py для генерации docker-compose.yml
- Добавлена команда make generate для обновления конфигурации
- Обновлен docker-compose.yml с поддержкой внешних сетей
- Добавлена документация по настройке сетей в README.md
- Поддержка гибкой настройки сетей для разных проектов
- Пример: DOCKER_NETWORKS=iaas,infrastructure_iaas
- Автор: Сергей Антропов (https://devops.org.ru)
This commit is contained in:
Сергей Антропов
2025-08-16 11:39:01 +03:00
parent 5a44c3446f
commit 3654d6699e
5 changed files with 194 additions and 32 deletions

View File

@@ -53,6 +53,7 @@ http://localhost:9001
|---------|----------|
| `make help` | Показать справку по всем командам |
| `make setup` | Настроить переменные окружения (копировать env.example в .env) |
| `make generate` | Сгенерировать docker-compose.yml из .env файла |
| `make build` | Собрать Docker образ |
| `make up` | Запустить сервисы в фоновом режиме (с правами root) |
| `make down` | Остановить и удалить сервисы (с правами root) |
@@ -92,11 +93,37 @@ http://localhost:9001
| `LOGBOARD_INDEX_HTML` | Путь к HTML шаблону | `./templates/index.html` |
| `TZ_TS` | Временная зона для меток времени | (пусто) |
| `COMPOSE_PROJECT_NAME` | Фильтр по проекту Docker Compose | (пусто) |
| `DOCKER_NETWORKS` | Внешние Docker сети (через запятую) | `iaas,infrastructure_iaas` |
| `SECRET_KEY` | Секретный ключ для шифрования | `your-secret-key-here` |
| `ENCRYPTION_KEY` | Ключ шифрования | `your-encryption-key-here` |
**⚠️ Важно:** Измените значения `LOGBOARD_PASS`, `SECRET_KEY` и `ENCRYPTION_KEY` в продакшене!
### Настройка Docker сетей
Для подключения к внешним Docker сетям (например, для работы с другими проектами):
1. **Укажите сети в .env файле:**
```bash
DOCKER_NETWORKS=iaas,infrastructure_iaas,myproject_network
```
2. **Сгенерируйте docker-compose.yml:**
```bash
make generate
```
3. **Убедитесь, что сети существуют:**
```bash
docker network ls
```
4. **Создайте сети, если их нет:**
```bash
docker network create iaas
docker network create infrastructure_iaas
```
### Настройка прав доступа к Docker
Приложение запускается с правами root для корректного доступа к Docker socket. Если вы хотите запускать без прав root, добавьте вашего пользователя в группу docker: