Справочник переменных окружения
Изменить настройку#
Чтобы изменить настройку ArchMap, выполните следующие действия:
- Задайте переменную для своего способа установки:
- сервер: в файле
/etc/archmap/archmap.envв форматеПЕРЕМЕННАЯ=значение, без пробелов вокруг=; - Docker Compose: в файле
compose.yamlв разделеenvironmentсервисаarchmap; - Kubernetes: в значении чарта из раздела
config(см. Значения Helm-чарта) или, если такого значения нет, в значенииextraEnv.
- сервер: в файле
- Перезапустите ArchMap:
- сервер:
sudo systemctl restart archmap; - Docker Compose:
docker compose up -d; - Kubernetes:
helm upgrade archmap oci://ghcr.io/eidunyushkinhse/charts/archmap -n archmap --reuse-values -f archmap-values.yaml --wait.
- сервер:
Переменные окружения#
| Переменная | По умолчанию | Что задаёт |
|---|---|---|
DATABASE_URL |
— | Адрес базы PostgreSQL (например, postgresql://archmap:ПАРОЛЬ@pg.example.com:5432/archmap). |
SECRET_KEY |
создаётся при установке | Ключ подписи входа, не короче 32 символов. После смены всем придётся войти заново. |
ACCESS_TOKEN_EXPIRE_MINUTES |
10080 |
Сколько минут действует вход пользователя (по умолчанию 7 дней). |
CORS_ORIGINS |
адрес сервера | Адреса, по которым пользователи открывают ArchMap, через запятую. Нужен, только если интерфейс и API живут на разных адресах. |
TRUST_FORWARDED_FOR |
true на сервере и в Kubernetes, false в Docker Compose |
Брать адрес пользователя из заголовка X-Forwarded-For, который дописывает прокси. Без прокси перед ArchMap выключите. |
LOGIN_ATTEMPTS_PER_MINUTE |
10 |
Неудачных попыток входа в минуту с одного адреса (0 снимает ограничение). На сервере вместо этого действует ограничение nginx. |
MAX_REQUEST_MB |
64 |
Наибольший размер запроса в МБ (например, при ввозе архива проекта). |
MCP_REQUESTS_PER_MINUTE |
300 |
Запросов ИИ-агента в минуту по одному токену (0 снимает ограничение). |
MCP_ALLOWED_ORIGINS |
пусто | Адреса страниц, с которых браузер может обращаться к …/mcp, через запятую. |
Каждый рабочий процесс держит до 15 соединений с PostgreSQL. Если увеличиваете число процессов или подов, проверьте, что настройка max_connections базы не меньше произведения «поды × процессы × 15».
Только на сервере#
ARCHMAP_PORT(по умолчанию8000): порт бэкенда на127.0.0.1, к нему обращается nginx;ARCHMAP_WORKERS(по умолчанию2): число рабочих процессов. При заметной нагрузке поставьте4;ARCHMAP_BACKUP_DIR(по умолчанию/opt/archmap/backups): папка для копий базы, которые установщик делает перед миграциями. Задайте её при запуске установщика (например,sudo ARCHMAP_BACKUP_DIR=/srv/backups ./deploy/install.sh).
Только в Docker Compose и Kubernetes#
WEB_CONCURRENCY(по умолчанию2): число рабочих процессов в контейнере;MIGRATE_ON_START(по умолчаниюtrue): применять миграции при запуске контейнера. В Kubernetes чарт сам выключает это у приложения и применяет миграции в init-контейнере.
В Docker Compose в файле .env рядом с compose.yaml можно задать ещё ARCHMAP_PORT (порт на машине, по умолчанию 8080) и POSTGRES_PASSWORD (пароль базы, по умолчанию archmap).
Значения Helm-чарта#
| Значение | По умолчанию | Что задаёт |
|---|---|---|
database.url |
пусто | Адрес базы. Вместо него можно указать Secret. |
database.existingSecret, database.existingSecretKey |
пусто, database-url |
Secret с адресом базы и имя ключа в нём. |
secretKey.value |
пусто | Ключ подписи входа. Если значение пустое, чарт создаст случайный ключ и сохранит его при обновлениях. |
secretKey.existingSecret, secretKey.existingSecretKey |
пусто, secret-key |
Secret с ключом подписи и имя ключа в нём. |
config.workers |
2 |
Число рабочих процессов в поде (WEB_CONCURRENCY). |
config.loginAttemptsPerMinute |
10 |
LOGIN_ATTEMPTS_PER_MINUTE. |
config.maxRequestMb |
64 |
MAX_REQUEST_MB. Прокси перед ArchMap должен пропускать запросы не меньше этого размера. |
config.trustForwardedFor |
true |
TRUST_FORWARDED_FOR. |
config.corsOrigins |
пусто | CORS_ORIGINS. |
extraEnv |
пусто | Другие переменные окружения списком name/value (например, MCP_ALLOWED_ORIGINS). |
replicaCount |
1 |
Число подов. Миграции при нескольких подах идут по очереди. |
image.repository, image.tag |
ghcr.io/eidunyushkinhse/archmap, версия чарта |
Образ ArchMap. |
imagePullSecrets |
пусто | Secret для загрузки образа из закрытого реестра. |
ingress.* |
выключено | Публикация через Ingress: enabled, className, annotations, hosts, tls. |
httpRoute.* |
выключено | Публикация через Gateway API: enabled, parentRefs, hostnames, timeout (по умолчанию 300s). |
resources |
запрос 0,1 CPU и 256 МБ, предел 1 ГБ | Ресурсы пода. |