0.1.9 • Published 3 years ago

docker-app-starter v0.1.9

Weekly downloads
16
License
ISC
Repository
github
Last release
3 years ago

Docker app starter

Информация

Сервер центральной системы конфигурации.

Оглавление

Установка и использование

пример установки: npm install docker-app-starter -g

пример запуска: docker-app-starter -c config.toml

Таблица ключей запуска

КлючОписание
--version, -vвывести номер версии приложения
--help, -hвызвать справку по ключам запуска
--config, -cпуть к файлу конфигурации в формате toml или json, (переменная среды: DOCKER_APP_STARTER_CONFIG_PATH)

Конфигурация

Программа настраивается через файл конфигурации двух форматов TOML или JSON. Так же можно настраивать через переменные среды, которые будут считаться первичными.

Секции файла конфигурации

  • logger - настрока логгера (переменная среды: DOCKER_APP_STARTER_LOGGER)
  • app - массив настроек процессов (переменная среды: DOCKER_APP_STARTER_APP)
  • app.env - настройка переменных среды для процесса (переменная среды: DOCKER_APP_STARTER_APP_ENV)

Пример файла конфигурации config.toml

[logger]                # настройка логгера
    mode = "prod"       # режим (prod или dev или debug)
    enable = true       # активация логгера
    timestamp = false   # выводить время лога (true или false)
    type = true         # выводить тип лога (true или false)

[[app]]                     # массив настроек процессов
    name = "app"            # имя процесса (должно быть уникальным)
    cwd = "./"              # рабочая папка процесса
    command = "/bin/sh"     # команда запуска приложения
    critical = true         # критичность процесса (true или false)
    restart = false         # перезагрузка при закрытии (игнорируется если critical = true)
    restart_interval = 2    # интервал перезагрузки (активируется при ключе restart = true)
    [app.env]               # настройка переменных среды для процесса
        scope = "all"                  # применяемые пространства (none, app, os, all)
        include_regexp = ".*"          # regexp для переменных вхождения
        [app.env.keys]                 # переменные пространства "app"
            APP_NAME = "app-name"

Настройка через переменные среды

Ключи конфигурации можно задать через переменные среды ОС. Имя переменной среды формируется из двух частей, префикса DOCKER_APP_STARTER_ и имени переменной в верхнем реестре. Если переменная вложена, то это обозначается символом _. Переменные среды имеют высший приоритет.

пример для переменной logger.mode: DOCKER_APP_STARTER_LOGGER_MODE

Таблица параметров конфигурации

ПараметрТипЗначениеОписание
logger.modeстрокаprodрежим отображения prod, dev или debug
logger.enableлогическийtrueактивация логгера
logger.timestampлогическийfalseвыводить время лога (true или false)
logger.typeлогическийtrueвыводить тип лога (true или false)
app.nameстрокаимя процесса (должно быть уникальным)
app.cwdстрока./рабочая папка процесса
app.commandстрока/bin/shкоманда запуска приложения
app.criticalлогическийtrueкритичность процесса (true или false)
app.restartлогическийfalseперезагрузка при закрытии (игнорируется если critical = true)
app.restart_intervalчисло2интервал перезагрузки (активируется при ключе restart = true)
app.env.scopeстрокаallприменяемые пространства (none, app, os, all)
app.env.include_regexpстрока.*regexp для переменных вхождения
app.env.keysобъект{}переменные пространства "app"