Возможности
Конфигурация в стиле docker-compose
Описывайте сервисы в pm.yaml — команда, переменные окружения, depends_on, рабочая директория, политика перезапуска.
Интерактивный TUI
Навигация по сервисам, запуск/остановка/перезапуск по отдельности или всех сразу. Управление с клавиатуры.
Режим демона
pm up запускает фоновый демон. Сервисы продолжают работать после выхода из TUI.
Логи по сервисам
pm logs <сервис> показывает вывод. Добавьте -f для потоковой трансляции.
Политики перезапуска
no, on-failure или always. Экспоненциальная задержка: от 1с до 32с.
Горячая перезагрузка
pm reload подхватывает изменения конфига без перезапуска работающих сервисов.
Использование
pm # запустить TUI (по умолчанию)
pm up # запустить все сервисы
pm up api db # запустить выбранные
pm stop # остановить все
pm stop api # остановить выбранный
pm restart # перезапустить все
pm status # таблица статусов
pm logs api # логи сервиса
pm logs api -f # следить за логами
pm reload # перезагрузить конфиг
pm shutdown # остановить демон
Клавиши TUI
↑/↓ или k/j Навигация по сервисам
s / Enter Запустить выбранный
x Остановить выбранный
r Перезапустить выбранный
a Запустить все
z Остановить все
R (shift) Перезагрузить конфиг
q Выход из TUI (сервисы продолжают работать)
Пример конфигурации
Создайте pm.yaml в корне проекта:
services:
web:
command: python3 -m http.server 8080
environment:
PYTHONUNBUFFERED: "1"
depends_on:
- logger
restart: on-failure
logger:
command: bash -c "while true; do echo heartbeat; sleep 5; done"
Все поля кроме command опциональны. working_dir по умолчанию — директория конфига.
Теги
История версий
2026-04-19v0.1.0Первый релиз — демон, TUI, YAML-конфиг, политики перезапуска, логи по сервисам
