Установка КриптоАРМ ID через Docker — развертывание SSO - Документация для КриптоАРМ 6
Перейти к содержанию

Как установить КриптоАРМ ID#

В этом руководстве вы узнаете, как установить SSO систему КриптоАРМ ID через Docker на своем сервере. Мы пройдем весь путь — от подготовки окружения до первого входа администратора в систему.

Содержание:


Требования к установке#

Системные требования сервера#

Перед установкой системы КриптоАРМ ID убедитесь, что ваша инфраструктура соответствует требованиям.

Системные требования зависят от планируемой нагрузки. Для тестовых сред достаточно минимальной конфигурации, для production-среды лучше использовать рекомендованные параметры.

Минимальная конфигурация#

Компонент Требования
Оперативная память (RAM) 4 ГБ
Дисковое пространство 50 ГБ SSD
Процессор (CPU) 2 ядра x86_64
Сетевой интерфейс 1 Гбит/с

Рекомендуемая конфигурация#

Компонент Требования
Оперативная память (RAM) 8 ГБ и более
Дисковое пространство 100 ГБ SSD/NVMe
Процессор (CPU) 4+ ядра x86_64
Сетевой интерфейс 1 Гбит/с и выше

💡 Совет: Для высоконагруженных систем с тысячами пользователей рекомендуется:

  • 16+ ГБ оперативной памяти
  • 8+ ядер процессора
  • Использование NVMe дисков для максимальной скорости работы БД

Требования к программному обеспечению#

Программное обеспечение#

Компонент Поддерживаемые версии Дополнительная информация
Операционная система Ubuntu 18.04 LTS (Bionic Beaver),
Ubuntu 20.04 LTS (Focal Fossa),
Debian 11 (Bullseye)
Любой linux-дистрибутив с поддержкой Docker
Docker Engine 19.03+ -
Docker Compose 1.27+ -
Nginx/Apache Любая современная версия -

Общие требования#

Для успешной установки и корректной работы КриптоАРМ ID необходимо выполнить несколько условий:

  • Наличие сервера с постоянным IP-адресом.
  • Доступ ко всем рабочим станциям через порт, который будет использоваться для доступа к системе.
  • Наличие сервера электронной почты (SMTP-сервера).
  • Подключение к сервису должно осуществляться по протоколу HTTPS.

Установка Docker и Docker Compose#

КриптоАРМ ID разворачивается в виде набора Docker-контейнеров и может использоваться как корпоративный OAuth 2.0 Authorization Server и OpenID Connect Provider (IdP).

📚 Документация Docker

Шаг 1. Установка Docker Engine#

Для Ubuntu/Debian:

# Обновление пакетов
sudo apt update && sudo apt upgrade -y

# Установка зависимостей
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# Добавление GPG-ключа Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Добавление репозитория
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Установка Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# Проверка установки
sudo docker --version

Для CentOS/RHEL:

# Установка yum-utils
sudo yum install -y yum-utils

# Добавление репозитория Docker
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# Установка Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# Запуск и автозагрузка Docker
sudo systemctl start docker
sudo systemctl enable docker

# Проверка установки
sudo docker --version

Шаг 2. Установка Docker Compose#

# Скачивание Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# Установка прав на исполнение
sudo chmod +x /usr/local/bin/docker-compose

# Проверка установки
docker-compose --version

💡 Требования к версиям: Docker Engine 20.10+ и Docker Compose 1.29+. Для проверки используйте команды docker --version и docker-compose --version.


Установка SSO системы#

Шаг 1. Подготовка рабочей директории#

Создайте и перейдите в директорию для установки:

# Создание директории
   mkdir cryptoarm-id && cd cryptoarm-id

# Проверка текущего пути
pwd  # Должно отобразить: /home/ваш_пользователь/trusted-id

Шаг 2. Загрузка конфигурационных файлов#

Загрузите необходимые файлы конфигурации:

# Загрузка основных файлов
curl -O https://git.digtlab.ru/trusted/cryptoarm/id/-/raw/main/docker-compose.yaml
curl -O https://git.digtlab.ru/trusted/cryptoarm/id/-/raw/main/nginx.conf
curl -O https://git.digtlab.ru/trusted/cryptoarm/id/-/raw/main/build.sh
curl -O https://git.digtlab.ru/trusted/cryptoarm/id/-/raw/main/.env


# Проверка загрузки
ls -la

Скачанные файлы:

Файл Назначение
docker-compose.yaml Конфигурация Docker-контейнеров
nginx.conf Настройки веб-сервера Nginx
build.sh Скрипт настройки и сборки
.env Переменные окружения и настройки

Шаг 3. Настройка прав доступа#

Сделайте скрипт сборки исполняемым:

# Установка прав на скрипт сборки
chmod +x ./build.sh

# Проверка прав
ls -l build.sh

⚙️ После установки рекомендуется выполнить базовую конфигурацию. Подробное описание всех параметров доступно в разделе Переменные окружения КриптоАРМ ID.

Шаг 4. Настройка конфигурации#

Отредактируйте файл .env с основными настройками:

# Открываем файл для редактирования (используйте nano или vim)
nano .env

Обязательные настройки:

# Основной домен системы
ID_HOST=id.example.ru  # Замените на ваш домен или IP

# Email администратора
ADMIN_MAIL=example@mail.ru  # Замените на реальный email

Шаг 5. Создание файла для хранения сертификатов#

Создайте файл для хранения сертификатов и задайте права:

touch acme.json
chmod 600 acme.json

Шаг 6. Запуск скрипта сборки#

Запустите скрипт настройки:

./build.sh

В результате выполнения в файле nginx.conf прописывается значение переменной ID_HOST и в файле .env прописываются переменные CLIENT_ID и CLIENT_SECRET.

Шаг 7. Запуск системы#

Запустите проект:

docker compose up -d

Полезные команды Docker Compose#

Команда Описание Пример использования
Просмотр логов Отслеживание логов в реальном времени docker compose logs -f
Остановка Остановка всех контейнеров docker compose stop
Запуск Запуск остановленных контейнеров docker compose start
Перезагрузка Перезапуск всех контейнеров docker compose restart
Статус Просмотр состояния контейнеров docker compose ps

Режимы запуска системы#

В системе доступны три режима запуска проекта:

  • Production — основной режим работы системы в рабочей среде.
  • Development — режим для разработки и тестирования.
  • Safe-mode — специальный режим для работы пользователя root. В этом режиме вход в систему разрешен только пользователю root, все остальные пользователи не могут авторизоваться.

Учетные записи по умолчанию#

При установке системы автоматически создаются две учетные записи:

  • root (логин: root / пароль: changethis): Учетная запись суперпользователя, которая игнорирует стандартные политики безопасности и способы аутентификации. Вход под root возможен только в режиме safe-mode.
  • admin (логин: admin / пароль: admin): Административная учетная запись для первичного входа и настройки системы.

📌 Эти данные предоставляют полный доступ к системе. Обязательно измените пароль сразу после первого входа.


Первый вход в систему#

Первый вход#

Для входа в веб-интерфейс КриптоАРМ ID необходимо перейти по адресу: https://ID_HOST.

  1. На первом шаге виджета входа введите логин и нажмите Войти.
  2. Введите пароль на втором шаге и нажмите Войти.

После авторизации произойдет переход в Профиль пользователя.

Переход в кабинет администратора#

Настройки администрирования размещены в кабинете администратора.

Чтобы перейти в кабинет:

  1. Нажмите на свое имя в правом верхнем углу окна.
  2. В открывшемся окне мини-виджета нажмите на название сервиса КриптоАРМ ID.
  3. Вы будете перенаправлены в Кабинет администратора.

Смотрите также#

Для повышения удобства работы и хранения данных веб-сайт CRYPTOARM.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.