← Каталог

Исходный код Node.js: 7 модулей .js (CommonJS), запускаются через node 01_cli.js или через npm-скрипт. Входной формат — YAML-описание сервисов, выходной — docker-compose.yml, nginx.conf, .env, Makefile.

ComposeForge CLI — генератор Docker Compose, Nginx и .env по YAML

Версия 1.0.0 Обновлён: 2026-10-03 Качество: 78/100

Node.js CLI утилита, которая по одному YAML-файлу с описанием сервисов генерирует рабочий docker-compose.yml, nginx.conf, .env, healthcheck и Makefile для развёртывания проекта одной командой.

📁 Что внутри (ZIP, 8 файлов)
  • 01_cli.js
  • 02_config_schema.js
  • 03_generate_compose.js
  • 04_generate_nginx.js
  • 05_generate_env.js
  • 06_generate_makefile.js
  • 07_utils.js
  • README.md

Проблема

Настройка инфраструктуры для нового проекта или микросервиса превращается в рутину: разработчики копируют docker-compose.yml из старых репозиториев, вручную правят nginx.conf, придумывают пароли для .env, забывают про healthcheck и Makefile. Это приводит к рассинхрону конфигов, ошибкам при деплое и потере времени у всей команды.

Решение

CLI-утилита принимает одно YAML-описание сервисов и генерирует согласованный набор файлов: docker-compose.yml с зависимостями, networks, volumes и healthcheck, nginx.conf с upstream и проксированием, .env со случайными секретами, Makefile для управления стеком. Валидация схемы ловит ошибки до генерации и указывает путь к проблемному полю, а режимы --dry-run и --verbose делают процесс прозрачным.

Подробнее

ComposeForge CLI — это готовая командная утилита на Node.js, которая превращает короткое YAML-описание вашего проекта в полностью рабочий набор инфраструктурных файлов. Вы описываете сервисы (язык приложения, порты, используемую БД, переменные окружения), запускаете одну команду — и получаете docker-compose.yml со всеми зависимостями, networks, volumes и healthcheck, готовый nginx.conf с upstream-блоками и проксированием, .env со сгенерированными паролями и ключами, а также Makefile для управления стеком. Утилита закрывает рутину, с которой сталкивается каждая малая команда при старте нового проекта или добавлении сервиса. Вместо копирования фрагментов compose-файлов из старых проектов, ручной правки nginx и придумывания паролей — вы держите одно понятное YAML-описание как единственный источник правды. Изменили порт или добавили сервис — перегенерировали конфиги за секунду. Внутри — модульная архитектура из семи файлов. Точка входа 01_cli.js парсит аргументы (--input, --output, --dry-run, --verbose), загружает YAML и оркестрирует генерацию. Модуль 02_config_schema.js валидирует входную схему: проверяет обязательные поля, типы, допустимые значения языка и БД, нормализует данные и возвращает ошибки с точным путём к проблемному полю. Дальше работают генераторы: 03_generate_compose.js собирает compose-файл с сервисами Node.js, Python, Go и PHP, подключает PostgreSQL, MySQL, MongoDB или Redis с переменными окружения, прописывает healthcheck, volumes и networks. 04_generate_nginx.js формирует nginx.conf с upstream-блоками, проксированием, отдачей статики, SSL-заглушками, gzip и логированием, поддерживая несколько доменов и портов. 05_generate_env.js создаёт .env с пользователями, паролями, именами БД, портами, URL сервисов и сгенерированными случайными секретными ключами. 06_generate_makefile.js делает Makefile с командами up, down, build, logs, restart, ps, exec, clean. Вся файловая работа, генерация случайных строк и логирование с уровнями вынесены в 07_utils.js. Продукт рассчитан на DevOps-инженеров, тимлидов и бэкенд-разработчиков, которым нужно быстро поднимать окружения для малых проектов и микросервисов. Утилита не привязана к облаку или конкретному хостингу — генерируемые файлы работают с обычным Docker и Docker Compose. Есть режим --dry-run для просмотра результата без записи на диск и --verbose для отладки. В отличие от запроса к ChatGPT, где вы получите набор разрозненных фрагментов, которые придётся вручную склеивать и проверять, здесь вы получаете запускаемый артефакт с валидацией входных данных, единообразными шаблонами и повторяемым результатом. Один YAML на входе — согласованный набор конфигов на выходе.

Возможности

  • Парсинг аргументов командной строки: --input, --output, --dry-run, --verbose
  • Валидация входного YAML с проверкой обязательных полей, типов и допустимых значений (язык, БД)
  • Нормализация данных и вывод ошибок с указанием пути к полю
  • Генерация docker-compose.yml для сервисов на Node.js, Python, Go и PHP
  • Подключение PostgreSQL, MySQL, MongoDB и Redis с переменными окружения
  • Прописывание зависимостей между сервисами, volumes, networks и healthcheck
  • Генерация nginx.conf с upstream-блоками, проксированием, статикой, gzip, логированием и SSL-заглушками
  • Поддержка нескольких доменов и портов в nginx-конфиге
  • Генерация .env с пользователями, паролями, именами БД, портами, URL сервисов и случайными секретными ключами
  • Учёт пользовательских переменных окружения из YAML
  • Генерация Makefile с командами up, down, build, logs, restart, ps, exec, clean
  • Утилиты для чтения/записи файлов, генерации случайных строк, форматирования и логирования с уровнями
  • Режим --dry-run для просмотра результата без записи файлов

Что вы получаете

  • 01_cli.js — точка входа CLI: парсинг аргументов, загрузка YAML, валидация, оркестрация генерации, обработка ошибок
  • 02_config_schema.js — валидация и нормализация входного YAML с указанием пути к ошибочному полю
  • 03_generate_compose.js — генерация docker-compose.yml: сервисы, зависимости, volumes, networks, healthcheck, подключение БД
  • 04_generate_nginx.js — генерация nginx.conf: upstream, проксирование, статика, SSL-заглушки, gzip, логирование, несколько доменов и портов
  • 05_generate_env.js — генерация .env: переменные БД, порты, URL сервисов, случайные секретные ключи, переменные из YAML
  • 06_generate_makefile.js — генерация Makefile: up, down, build, logs, restart, ps, exec, clean
  • 07_utils.js — вспомогательные функции: файловые операции, генерация случайных строк, форматирование, логирование с уровнями

Инструкция по установке

1. Установите Node.js 18+ и убедитесь, что доступны docker и docker compose. 2. Скопируйте файлы 01_cli.js–07_utils.js в директорию проекта. 3. Установите зависимости: js-yaml (npm install js-yaml). 4. Подготовьте services.yaml с описанием сервисов (name, services с языком, портами, БД, переменными окружения). 5. Запустите: node 01_cli.js --input services.yaml --output ./out --verbose. 6. Для предпросмотра без записи используйте --dry-run. 7. Перенесите сгенерированные docker-compose.yml, nginx.conf, .env и Makefile в корень проекта. 8. Запустите стек: make up.

Требования

Node.js 18+, пакет js-yaml, установленный Docker и Docker Compose для запуска сгенерированных файлов. Дополнительные аккаунты и облачные сервисы не требуются.

Варианты и цены

Выберите подходящий уровень:

  • Базовый — $17 · Основной набор файлов продукта.
  • Стандарт — $29 · Полный набор + инструкция по внедрению.
  • Расширенный — $46 · Всё из Стандарта + расширенные материалы и обновления.

Частые вопросы

Что входит в продукт?

Node.js CLI утилита, которая по одному YAML-файлу с описанием сервисов генерирует рабочий docker-compose.yml, nginx.conf, .env, healthcheck и Makefile для развёртывания проекта одной командой.

В каком формате я получу файлы?

После оплаты вы получаете защищённую ссылку и ZIP-архив со всеми материалами. Ссылка приходит на странице заказа и доступна через Telegram-бот.

Как долго доступна ссылка на скачивание?

Ссылка активна 24 часов, до 5 скачиваний.

Нужны ли специальные знания?

Продукт рассчитан на предпринимателей и специалистов. Внутри — пошаговая инструкция, специальные навыки программирования не требуются.

Можно ли вернуть деньги?

По вопросам возврата свяжитесь с поддержкой: [email protected].

Смотрите также