Перейти к содержимому

Параметры конфигурации

NORA настраивается через переменные окружения, файл config.toml или аргументы командной строки. Переменные окружения имеют наивысший приоритет.

ПеременнаяПо умолчаниюОписание
NORA_HOST127.0.0.1Адрес привязки
NORA_PORT4000Порт
NORA_BODY_LIMIT_MB2048Максимальный размер тела запроса в МБ
RUST_LOGinfoУровень логирования (debug, info, warn, error)
ПеременнаяПо умолчаниюОписание
NORA_STORAGE_MODElocalСпособ хранения: local или s3
NORA_STORAGE_PATHdata/storageПуть локального хранилища
NORA_STORAGE_S3_URLАдрес S3-совместимого хранилища
NORA_STORAGE_BUCKETregistryИмя S3-бакета
ПеременнаяПо умолчаниюОписание
NORA_AUTH_ENABLEDfalseВключить аутентификацию
NORA_AUTH_HTPASSWD_FILEusers.htpasswdПуть к файлу htpasswd
NORA_AUTH_TOKEN_STORAGEdata/tokensКаталог хранения токенов

Подробнее: Руководство по аутентификации.

ПеременнаяПо умолчаниюОписание
NORA_RATE_LIMIT_ENABLEDtrueВключение/отключение ограничений. Для внутренних инсталляций можно отключить
NORA_RATE_LIMIT_AUTH_RPS1Запросов аутентификации в секунду
NORA_RATE_LIMIT_AUTH_BURST5Пиковое число запросов аутентификации
NORA_RATE_LIMIT_UPLOAD_RPS200Запросов загрузки в секунду
NORA_RATE_LIMIT_UPLOAD_BURST500Пиковое число запросов загрузки
NORA_RATE_LIMIT_GENERAL_RPS100Общих запросов в секунду
NORA_RATE_LIMIT_GENERAL_BURST200Пиковое число общих запросов

Подробнее: Ограничения запросов.

ПеременнаяПо умолчаниюОписание
NORA_DOCKER_UPSTREAMShttps://registry-1.docker.ioСписок upstream-реестров через запятую
NORA_DOCKER_PROXY_TIMEOUT60Таймаут запросов к upstream (секунды)

Подробнее: Проксирование Docker.

ПеременнаяПо умолчаниюОписание
NORA_SECRETS_PROVIDERenvИсточник секретов (env)
NORA_SECRETS_CLEAR_ENVfalseОчищать переменные окружения после чтения

NORA ищет файл config.toml в текущем каталоге:

[server]
host = 0.0.0.0
port = 4000
[storage]
mode = local
path = data/storage
# S3-хранилище (раскомментируйте для использования)
# mode = s3
# s3_url = https://s3.amazonaws.com
# bucket = my-registry
[auth]
enabled = true
htpasswd_file = users.htpasswd
token_storage = data/tokens
[rate_limit]
enabled = true
auth_rps = 1
auth_burst = 5
upload_rps = 200
upload_burst = 500
general_rps = 100
general_burst = 200
[secrets]
provider = env
clear_env = false

Пример для рабочей среды:

services:
nora:
image: ghcr.io/getnora-io/nora:latest
ports:
- 4000:4000
volumes:
- nora-data:/data
- ./users.htpasswd:/data/users.htpasswd:ro
environment:
- RUST_LOG=info
- NORA_HOST=0.0.0.0
- NORA_PORT=4000
- NORA_AUTH_ENABLED=true
- NORA_BODY_LIMIT_MB=4096
restart: unless-stopped
volumes:
nora-data:
АдресОписание
/ui/Веб-интерфейс
/api-docsSwagger UI (OpenAPI)
/healthПроверка работоспособности
/readyПроверка готовности
/metricsМетрики Prometheus
/v2/Docker Registry v2
/maven2/Maven-репозиторий
/npm/Реестр npm
/cargo/Реестр Cargo
/simple/Индекс PyPI