Установить ArchMap через Docker Compose
Примечание
Docker Compose позволяет быстрее всего запустить ArchMap на одной машине: ArchMap и PostgreSQL работают в двух контейнерах. Нужны Docker с Compose v2, git и доступ в интернет, потому что образ собирается из исходного кода, а Node.js и Python ставятся внутри сборки.
Запустить ArchMap#
Чтобы установить и запустить ArchMap, выполните следующие действия:
-
Скачайте исходный код ArchMap:
git clone https://github.com/eidunyushkinhse/archmap.git cd archmap -
Если нужно, рядом с файлом
compose.yamlсоздайте файл.envи задайте в нём пароль базы и порт:POSTGRES_PASSWORD=надёжный-пароль ARCHMAP_PORT=8080 -
Запустите контейнеры:
docker compose up -dПервая сборка займёт несколько минут.
-
Создайте первого администратора. Команда дважды спросит пароль:
docker compose exec archmap archmap-admin create-admin admin -
Откройте в браузере
http://localhost:8080и войдите под учётной записью администратора. -
Заведите учётные записи для коллег (см. Создать учётные записи и назначить роли).
Примечание
Задайте пароль базы до первого запуска: PostgreSQL запоминает его при создании хранилища данных. Если пароль не задан, используется archmap.
Примечание
Данные хранятся в томах Docker: archmap_db (база) и archmap_data (ключ подписи входа, он создаётся при первом запуске). Пока тома целы, пересоздание контейнеров ничего не теряет.
Открыть доступ коллегам#
Примечание
Контейнер отдаёт ArchMap по HTTP без шифрования. Пароли и токены по сети передаются открытым текстом, поэтому для работы коллег перед контейнером нужен обратный прокси с TLS (например, nginx).
Чтобы открыть ArchMap коллегам, выполните следующие действия:
-
Настройте обратный прокси с TLS, который передаёт все запросы на порт ArchMap (по умолчанию
8080). Прокси должен принимать запросы до 64 МБ и ждать ответа до 300 секунд, потому что столько может занять ввоз большого архива. -
В файле
compose.yamlв разделеenvironmentсервисаarchmapдобавьте строку:TRUST_FORWARDED_FOR: "true" -
Перезапустите контейнеры:
docker compose up -d
Примечание
С настройкой TRUST_FORWARDED_FOR ArchMap берёт адрес пользователя из заголовка X-Forwarded-For, который дописывает прокси. Без неё ограничение попыток входа посчитало бы всех пользователей одним адресом прокси. Если прокси нет, эту настройку не включайте, иначе заголовок сможет подделать сам пользователь.
Примечание
Как обновить ArchMap и сделать копию базы, см. Обновить ArchMap до новой версии и Сделать резервную копию и восстановить базу.