Как установить Strider на Ubuntu 18.04
Краткое пошаговое руководство по установке Strider — свободного CI/CD-сервера на Ubuntu 18.04: обновите систему, установите Node.js (v12), MongoDB 4.0, создайте пользователей и запустите Strider под управлением PM2. Включены советы по безопасности, отладке и проверке работоспособности.
О чём эта статья
Это подробная инструкция по развертыванию Strider на сервере под управлением Ubuntu 18.04. Включены команды, конфигурационные примеры, проверочные шаги, рекомендации по безопасности, альтернативные подходы и чек-листы для ролей (администратор, девопс, разработчик).
Важно: инструкция использует Node.js 12.x и MongoDB 4.0, как в исходной инструкции. При желании можно выбрать более новые версии, но тогда проверьте совместимость плагинов Strider.
Ключевые требования
- Сервер с Ubuntu 18.04 (доступ по root или с sudo-права).
- Доступ в интернет для загрузки пакетов и репозиториев.
- Базовые навыки работы в терминале (apt, systemctl, nano/vi).
Быстрая последовательность действий
- Обновить систему.
- Установить curl и git.
- Установить Node.js 12.x и npm.
- Установить MongoDB 4.0 и включить аутентификацию.
- Скачать и установить Strider, создать БД и пользователей.
- Настроить PM2 для автозапуска приложения.
- Открыть веб-интерфейс и проверить вход.
Факт-бокс: ключевые версии и адреса
- ОС: Ubuntu 18.04
- Node.js: 12.x (пример вывода node -v: v12.6.0)
- NPM: 6.x (пример вывода npm -v: 6.9.0)
- MongoDB: 4.0
- PM2: менеджер процессов для Node.js
Предварительная подготовка
Перед началом обновите пакеты и перезагрузите систему при необходимости:
apt-get update -y
apt-get upgrade -yПерезагрузите сервер, если обновления включали ядро или системные службы.
Установите утилиты curl и git:
apt-get install curl git -yПримечание: используйте sudo, если вы не под root.
Установка Node.js
Strider — Node.js-приложение, поэтому требуется Node.js и node-gyp.
Добавьте репозиторий NodeSource для Node.js 12.x и установите пакеты:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install nodejs node-gyp -yПроверьте версии:
node -v
# например: v12.6.0
npm -v
# например: 6.9.0Важно: для сборки некоторых npm-модулей могут потребоваться пакеты build-essential и python2 (или python3 в современных сборках). Если npm install выдаёт ошибки, установите их:
apt-get install build-essential python -yУстановка и настройка MongoDB
Strider использует MongoDB как хранилище. В инструкции используется официальный репозиторий MongoDB 4.0.
Импортируйте GPG-ключ и добавьте репозиторий:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.listОбновите индексы и установите MongoDB:
apt-get update -y
apt-get install mongodb-org -yЗапустите и включите автозапуск:
systemctl start mongod
systemctl enable mongod
systemctl status mongodОжидаемый статус — active (running). Если служба не запускается, смотрите журналы через journalctl -u mongod.
Включение аутентификации в MongoDB
Откройте mongo-shell и создайте администратора базы данных:
mongoВ shell выполните:
> use admin
> db.createUser( { user: "admin", pwd: "adminpassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
> exitЗатем откройте конфигурацию MongoDB и включите авторизацию:
nano /etc/mongod.confДобавьте или измените блок:
security:
authorization: enabledСохраните файл и перезапустите MongoDB:
systemctl restart mongodПроверьте, что подключение с авторизацией работает, войдя в shell и аутентифицировавшись:
mongo
> use admin
> db.auth("admin","adminpassword")Если аутентификация успешна, можно создавать пользователей для приложений.
Установка Strider
Скачайте исходники Strider в /opt и установите зависимости:
cd /opt
git clone https://github.com/Strider-CD/strider.git
cd strider
npm installЕсли npm install выдаёт ошибки, проверьте, установлены ли build-essential и python.
Создание БД и пользователя для Strider
В mongo-shell создайте пользователя для базы strider:
mongo
> use admin
> db.auth("admin","adminpassword")
> use strider
> db.createUser({user: "strider", pwd: "password", roles: [{role: "dbOwner", db: "strider"}]})
> exitЗатем создайте админа Strider (интерактивно) из каталога /opt/strider:
cd /opt/strider
DB_URI="mongodb://strider:password@localhost:27017/strider" node bin/strider addUserПример интерактивного ввода (вы увидите подсказки):
Connecting to MongoDB URL: mongodb://strider:password@localhost:27017/strider
Enter email []: admin@example.com
Enter password []: ****
Is admin? (y/n) [n]y
User created successfully! Enjoy.Сохраните учётные данные администратора в безопасном месте.
Установка и настройка PM2
PM2 используется для управления процессом Node.js и автозапуска после перезагрузки.
Установите PM2 глобально:
npm install pm2 -gСоздайте конфигурационный файл ecosystem.config.js в /opt/strider:
cd /opt/strider
nano ecosystem.config.jsВставьте:
module.exports = {
apps : [{
name : "strider",
script : "npm",
args : "start",
env: {
"NODE_ENV": "production",
"DB_URI": "mongodb://strider:password@localhost:27017/strider",
"SERVER_NAME": "http://your-server-ip:3000",
"HOST": "0.0.0.0",
"PORT": "3000"
}
}]
}Запустите приложение через PM2:
pm2 start ecosystem.config.jsПримечание: при первом запуске PM2 предложит команды и покажет статус приложения. Затем включите автозапуск PM2 при старте системы:
pm2 startup
pm2 saveЕсли вы хотите запускать под непривилегированным пользователем (рекомендуется), создайте системного пользователя strider и поменяйте владельца папки /opt/strider:
useradd -r -s /bin/false strider
chown -R strider:strider /opt/strider
su -s /bin/bash -c "pm2 start ecosystem.config.js" strider
pm2 saveВажно: запуск под root повышает риски безопасности. По возможности используйте отдельного пользователя.
Доступ к веб-интерфейсу
Откройте браузер и перейдите по адресу:
Вы увидите страницу входа в Strider.

ALT: Скриншот страницы входа в Strider с полями email и пароль
Войдите под созданным администратором. После входа вы попадёте в интерфейс создания и настройки проектов.

ALT: Скриншот интерфейса Strider с настройкой проекта и списком репозиториев
Тестирование и проверка
Проверьте, что приложение отвечает и подключается к MongoDB.
- Убедитесь, что PM2 показывает статус приложения: pm2 list и pm2 show strider.
- Проверьте логи: pm2 logs strider.
- Убедитесь, что Strider доступен по HTTP и логин работает.
- Создайте тестовый проект и выполните простой job, чтобы подтвердить, что runner выполняет сборку.
Критерии приёмки
- Веб-интерфейс Strider доступен по порту 3000.
- Можно войти под созданным администратором.
- Приложение сохраняит состояние в базе strider в MongoDB.
- PM2 автоматически перезапускает приложение после перезагрузки.
Отладка и распространённые ошибки
- npm install выдаёт ошибки сборки: установите build-essential и python.
- MongoDB не запускается: смотрите sudo journalctl -u mongod –no-pager.
- Ошибка аутентификации к MongoDB: проверьте строку подключения DB_URI и наличие пользователя в базе strider.
- PM2 запускает приложение, но оно падает: смотрите pm2 logs strider и пересмотрите переменные окружения в ecosystem.config.js.
Безопасность и эксплуатация
- Не используйте простые пароли в production. Придумайте сложные пароли и храните их в менеджере секретов.
- Откройте доступ к интерфейсу Strider только из доверенных сетей или через VPN.
- Настройте HTTPS (например, через обратный прокси nginx и сертификат Let’s Encrypt).
- Запускайте Strider под непривилегированным системным пользователем.
- Регулярно делайте резервные копии MongoDB (mongodump).
Примечание: если сервер публичный, настройте брандмауэр (ufw) и разрешите только необходимые порты (например, 22 для SSH и 443/80 для веб).
Альтернативные варианты развертывания
- Docker: есть официальные/сообщества образы для запуска Strider в контейнерах — подходит для изоляции и быстрой миграции.
- Новые версии Node.js и MongoDB: можно использовать более свежие версии, но проверьте совместимость плагинов и Strider.
- Использование managed MongoDB (например, Atlas): уменьшает нагрузку на администрирование, но потребует правильной настройки сети и строки подключения.
Роль-based чек-листы
Администратор:
- Проверить обновления Ubuntu и ядра.
- Настроить брандмауэр и резервное копирование.
- Обеспечить безопасное хранение секретов.
Девопс:
- Установить Node.js, MongoDB, PM2.
- Настроить автозапуск PM2 и мониторинг (pm2 monit).
- Настроить nginx как обратный прокси и HTTPS.
Разработчик:
- Проверить создание проекта и выполнение тестовых билдов.
- Настроить доступы к репозиториям (SSH-ключи/токены).
- Настроить уведомления и плагины Strider при необходимости.
Мини-методология развёртывания
- Тестовое окружение: развернуть на отдельном сервере и проверить весь пайплайн.
- Производство: склонировать шаги тестового окружения, адаптировать секреты и адреса.
- Мониторинг: включить метрики PM2 и бэкапы MongoDB.
Когда этот метод не подойдёт
- Если требуется HA (высокая доступность) для MongoDB — нужно настроить реплика-сет.
- Для крупномасштабных воркфлоу лучше использовать CI/CD-системы с поддержкой контейнеров и масштабирования (например, Jenkins/Kubernetes или специализированные SaaS).
Быстрый план действий (roadmap)
- Подготовка сервера и сеть.
- Установка Node.js и зависимостей.
- Установка MongoDB и включение авторизации.
- Разворачивание Strider и создание пользователей.
- Настройка PM2 и обратного прокси с HTTPS.
- Тестирование, мониторинг и бэкапы.
Краткое резюме
Вы установили Strider на Ubuntu 18.04: настроили Node.js, MongoDB с аутентификацией, создали пользователей для базы и Strider, запустили приложение под PM2 и проверили доступ через веб-интерфейс. Дальше рекомендуется настроить HTTPS, запуск под непривилегированным пользователем и бэкапы MongoDB.
Если нужно, могу подготовить пример конфигурации nginx для обратного проксирования и HTTPS, Docker-Compose файл для контейнерного развёртывания или пошаговый план миграции на более новые версии Node.js/MongoDB.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента