NPIP - Nginx Project Initializer Pipeline
Графический инструмент для быстрого создания и активации локальных сайтов на Nginx.
Возможности
- Валидация имени проекта (латиница, цифры, дефис, 3-63 символа)
- Проверка системных требований (nginx, права sudo, директории)
- Проверка на конфликт с существующими конфигами
- Генерация конфига Nginx с проксированием PHP-FPM
- Автоматическое создание symlink в sites-enabled
- Проверка конфигурации nginx -t
- Перезагрузка nginx
- Добавление записи в /etc/hosts
- Терминал с цветным выводом команд в реальном времени
- Режимы выполнения: пошаговый (подтверждение каждой команды) или быстрый (все команды одной)
- Копирование вывода терминала в буфер обмена
- Выполнение команд через pkexec (графический запрос пароля)
- Окно настроек с:
- Переключателем Save mode (true/false) с зелёным/красным индикатором
- Настраиваемыми путями: Nginx path, Sites source path, Hosts path
- Постоянной конфигурацией через config.json
Технологии
- Python 3.12
- PyQt6
- subprocess + pkexec
- Модульная архитектура (компоненты/сервисы)
Запуск
python3 -m venv venv
source venv/bin/activate
pip install PyQt6
python main.py
Конфигурация
Настройки хранятся в config.json:
| Ключ |
По умолчанию |
Описание |
saveMode |
true |
Пошаговый (true) или быстрый (false) режим |
ngnixPath |
/etc/nginx/ |
Путь к директории Nginx |
sitesSrcPath |
/var/www/ |
Корневая директория сайтов |
hosts |
/etc/hosts |
Файл hosts |
Версии
- 0.1.0 - Пользовательский интерфейс
- 0.2.0 — Первичный релиз с базовым функционалом
- 0.3.0 — Окно настроек, переключатель save mode, быстрый режим выполнения, постоянная конфигурация