Гид по технологиям

Установка Ralph на Docker в Ubuntu 20.04

• 4 min read • Инфраструктура • Обновлено 24 Nov 2025
Установка Ralph на Docker в Ubuntu 20.04
Установка Ralph на Docker в Ubuntu 20.04

О чём эта инструкция

Краткое руководство по развёртыванию Ralph (Asset Management, DCIM, CMDB) в контейнерах Docker на Ubuntu 20.04. Подходит для тестового и production-развёртывания с базовой конфигурацией контейнеров.

Что такое Ralph

Ralph — свободная система управления активами и CMDB, основанная на Django и Python 3. Поддерживает учёт закупок, жизненного цикла активов и калькуляцию затрат. В одном предложении: web-интерфейс для централизованного управления IT-активами.

Требования

  • Сервер с Ubuntu 20.04 (x86_64). Минимум 2 CPU и 4 ГБ RAM для теста; для боевого окружения — планируйте больше.
  • Доступ root или пользователь с sudo.
  • Связь с внешним Интернетом для загрузки образов Docker.

Быстрая проверка перед началом

Выполните обновление пакетов и перезагрузите систему, чтобы избежать несовместимостей ядра и зависимостей:

apt-get update -y  
apt-get upgrade -y

Перезагрузите сервер при необходимости.

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

В официальном репозитории Ubuntu 20.04 доступны пакеты docker.io и docker-compose, установите их одной командой:

apt-get install docker.io docker-compose -y

Запустите и включите автозапуск Docker:

systemctl start docker  
systemctl enable docker

Проверьте статус сервиса:

systemctl status docker

Пример ожидаемого вывода:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-04-29 08:06:11 UTC; 6s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 3371 (dockerd)
      Tasks: 10
     Memory: 36.0M
     CGroup: /system.slice/docker.service
             ??3371 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Apr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.552343504Z\" level=warning msg=\"Your kernel does not support swap memory limi>\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.552406263Z\" level=warning msg=\"Your kernel does not support cgroup blkio wei>\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.552423110Z\" level=warning msg=\"Your kernel does not support cgroup blkio wei>\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.552769597Z\" level=info msg=\"Loading containers: start.\"\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.710947740Z\" level=info msg=\"Default bridge (docker0) is assigned with an IP >\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.793048851Z\" level=info msg=\"Loading containers: done.\"\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.819265563Z\" level=info msg=\"Docker daemon\" commit=afacb8b7f0 graphdriver(s)=>\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.819655292Z\" level=info msg=\"Daemon has completed initialization\"\nApr 29 08:06:11 ubuntu20 systemd[1]: Started Docker Application Container Engine.\nApr 29 08:06:11 ubuntu20 dockerd[3371]: time=\"2020-04-29T08:06:11.874074016Z\" level=info msg=\"API listen on /run/docker.sock\"\nlines 1-21/21 (END)

Проверьте версии:

docker -v

Ожидаемый вывод:

Docker version 19.03.8, build afacb8b7f0

И для docker-compose:

docker-compose -v

Ожидаемый вывод:

docker-compose version 1.25.0, build unknown

Важно: для production рекомендуется устанавливать официальные релизы Docker по инструкции с сайта Docker, если в вашей среде нужны более свежие версии.

Установка Ralph через Docker

  1. Установите git:
apt-get install git -y
  1. Склонируйте официальный репозиторий Ralph:
git clone https://github.com/allegro/ralph.git
  1. Перейдите в каталог с Docker-конфигурацией и инициализируйте проект:
cd ralph/docker  
docker-compose run web init
  1. Постройте и запустите контейнеры в фоновом режиме:
docker-compose up -d
  1. Проверьте запущенные контейнеры:
docker ps

Пример вывода:

CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                     NAMES
6d99415b9569        allegro/ralph:latest                "/var/local/ralph/do…"   40 seconds ago      Up 38 seconds       0.0.0.0:32771->8000/tcp   docker_web_1
fcede6c8a3d3        allegro/inkpy:latest                "/bin/sh -c 'supervi…'   40 seconds ago      Up 38 seconds                                 docker_inkpy_1
c93bf3a397d5        redis:3.0                           "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        0.0.0.0:32770->6379/tcp   docker_redis_1
ac4f4c278443        mysql:5.7                           "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        3306/tcp, 33060/tcp       docker_db_1
b0e6a7beeb61        allegro/ralph-static-nginx:latest   "nginx -g 'daemon of…'   6 minutes ago       Up 3 seconds        0.0.0.0:80->80/tcp        docker_nginx_1

Также можно просмотреть порты всех сервисов:

docker-compose ps

Ожидаемый вывод:

     Name                   Command               State            Ports         
---------------------------------------------------------------------------------
docker_db_1      docker-entrypoint.sh mysql ...   Up      3306/tcp, 33060/tcp    
docker_inkpy_1   /bin/sh -c supervisord -n        Up                             
docker_nginx_1   nginx -g daemon off;             Up      0.0.0.0:80->80/tcp     
docker_redis_1   docker-entrypoint.sh redis ...   Up      0.0.0.0:32770->6379/tcp
docker_web_1     /var/local/ralph/docker-en ...   Up      0.0.0.0:32771->8000/tcp

Доступ к веб-интерфейсу

Откройте в браузере http://your-server-ip. На странице входа используйте учётные данные по умолчанию:

  • Имя пользователя: ralph
  • Пароль: ralph

Страница входа в систему управления активами

После входа вы увидите дашборд Ralph:

Панель управления Ralph Asset Management

Важно: смените пароль сразу после первого входа и настройте доступ через HTTPS для публичных или производственных инсталляций.

Мини-методология развёртывания (рекомендуемый порядок)

  1. Подготовьте сервер и резервное копирование конфигураций.
  2. Установите Docker и проверяйте совместимость ядра и cgroups.
  3. Склонируйте репозиторий, изучите файлы docker-compose.yml и .env.
  4. Запустите init, потом поднимайте контейнеры.
  5. Настройте бэкап MySQL и Redis.
  6. Настройте HTTPS (nginx reverse proxy, Let’s Encrypt).

Контрольные списки по ролям

Администратор сервера:

  • Подготовить хост (обновления, storage, firewall).
  • Установить Docker и docker-compose.
  • Настроить мониторинг и логирование (например, Prometheus/ELK).

DevOps/Интегратор:

  • Проверить docker-compose.yml и переменные окружения.
  • Настроить бэкап БД и доступ по SSH.
  • Настроить CI/CD для образов при изменениях.

Оператор Ralph:

  • Создать пользователей и роли в интерфейсе.
  • Импортировать данные об активах.
  • Настроить отчёты затрат.

Тонкие места и отладка

  • Если контейнер web не стартует — проверьте логи:
docker-compose logs web
  • Проблемы с базой данных: проверяйте docker logs для контейнера mysql, права и network.
  • Конфликты портов: убедитесь, что 80/443/3306 и другие порты свободны или правильно проброшены.

Безопасность и рекомендации для production

  • Всегда включайте HTTPS на фронтенде (nginx) и перенаправляйте HTTP на HTTPS.
  • Смените пароли по умолчанию и используйте управление пользователями.
  • Ограничьте доступ к API и БД через firewall и VPN.
  • Делайте регулярные бэкапы MySQL (дамп) и снимки Redis при необходимости.

Критерии приёмки

  • Все контейнеры запущены и находятся в состоянии Up.
  • Веб-интерфейс доступен по HTTPS (если настроен) и можно войти под административной учётной записью.
  • Создание и обновление записи актива выполняются без ошибок.
  • Тестовый экспорт отчёта стоимости создаётся корректно.

Частые ошибки и как их решать

  • Ошибка: web не отвечает после запуска — проверьте логи web и nginx, убедитесь, что init завершён.
  • Ошибка: соединение с MySQL — проверьте переменные окружения в docker-compose.yml и права пользователя БД.
  • Ошибка: недостаточно ресурсов — выделите больше памяти/CPU или используйте более мощную VM.

Сравнение подходов к развёртыванию

  • Docker Compose: быстро, удобно для теста и небольшого production.
  • Kubernetes: предпочтителен для масштабируемости и управления в кластере.
  • VM (bare-metal): подходит, если политика безопасности запрещает контейнеризацию.

Факты и числа (факт-бокс)

  • Платформа: Django, Python 3.
  • Минимальные ресурсы для теста: 2 CPU, 4 ГБ RAM.
  • Основные компоненты: web, nginx, mysql, redis, inkpy.

Заключение

Вы успешно установили Ralph через Docker на Ubuntu 20.04 и получили рабочий веб-интерфейс для управления активами. Для production-окружений рекомендуем дополнительно настроить HTTPS, автоматические бэкапы и мониторинг.

Примечание: при возникновении вопросов по логам или ошибкам запусков приложите выводы docker-compose logs и docker ps для быстрой диагностики.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро