MAATRIX / Блог / OpenProject на Ubuntu 24.04: пошаговая установка

OpenProject на Ubuntu 24.04: пошаговая установка

MAATRIX

Когда команда вырастает из Trello и таблиц, а Jira кажется избыточной и дорогой, разумный следующий шаг — self-hosted система управления проектами со своими диаграммами Ганта, бэклогом и ролями доступа. OpenProject закрывает это ровно так: open-source ядро, платные модули по желанию и полный контроль над данными на собственном сервере. Ниже — рабочая установка на чистый Ubuntu 24.04, без пропущенных шагов и без «магии», которая ломается через месяц.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что такое OpenProject и кому он подходит

OpenProject — веб-платформа для управления проектами: диаграммы Ганта с зависимостями задач, бэклог и спринты в стиле Scrum, канбан-доски, тайм-трекинг, вики, багтрекер и ролевая модель доступа. Community-версия бесплатна и покрывает 90% потребностей небольшой и средней команды; Enterprise-модули (например, расширенные отчёты или SSO через SAML) продаются отдельно, но для старта не нужны.

Инструмент имеет смысл, когда:

  • команда больше 5-7 человек и держать план в голове/таблице уже не получается;
  • нужна визуальная диаграмма Ганта с зависимостями, а не просто список задач;
  • важно, чтобы данные о проектах не лежали в облаке третьей стороны — например, для команд с NDA или госконтрактами;
  • есть несколько параллельных проектов и нужна общая портфельная картина.

Если задач немного и команда небольшая, присмотритесь к более лёгким инструментам — например, Taiga, она проще в установке и достаточна для scrum-команды из 3-5 человек. OpenProject оправдан, когда нужна именно диаграмма Ганта и многоуровневая иерархия задач.

Требования к серверу и выбор конфигурации

OpenProject — не самое лёгкое приложение: под капотом Ruby on Rails, PostgreSQL, Memcached и очередь фоновых задач. Официальный минимум — 4 ГБ RAM и 2 vCPU, но это впритык: на практике при 10-15 активных пользователях сервер начинает подтормаживать на генерации диаграмм Ганта и экспортах в PDF.

Размер командыvCPURAMДискКомментарий
до 10 человек24 ГБ40 ГБ SSDминимум, без запаса на пики
10-30 человек48 ГБ60 ГБ SSDкомфортный рабочий вариант
30+ человек, несколько отделов6-816 ГБ100+ ГБ SSDплюс отдельная БД на выделенном сервере

Диск важен не меньше памяти: вложения, вики-страницы с картинками и экспорты быстро съедают место, а PostgreSQL любит быстрый I/O. Если планируете хранить много файлов в задачах (скриншоты, макеты, документы), закладывайте SSD с запасом с самого начала — расширять диск на лету можно, но проще один раз взять с запасом.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Подготовка Ubuntu 24.04 перед установкой

Начните с чистой системы и обновлений:

sudo apt update && sudo apt full-upgrade -y
sudo apt install -y curl gnupg2 ca-certificates apt-transport-https
sudo reboot

После перезагрузки задайте hostname, если ещё не сделали — OpenProject подставляет его в некоторые системные уведомления:

sudo hostnamectl set-hostname openproject.example.com

Замените openproject.example.com на реальный домен или поддомен, который будет указывать на сервер. Заранее настройте A-запись в DNS — она понадобится на шаге SSL.

Проверьте часовой пояс — диаграммы Ганта и дедлайны привязаны ко времени сервера:

sudo timedatectl set-timezone Europe/Moscow

Откройте порты в файрволе. Если UFW ещё не настроен, сначала разберитесь с базовыми правилами — в отдельной статье про настройку UFW на Ubuntu 24.04 есть пошаговая инструкция. Для OpenProject достаточно открыть SSH, 80 и 443:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Установка OpenProject из официального пакета

OpenProject распространяется через собственный packaged-installer, который сам поднимает PostgreSQL, Apache, Memcached и все зависимости внутри системы — это самый предсказуемый способ развернуть его на чистом сервере (альтернатива — Docker Compose, но пакетная установка проще в обслуживании на одиночном VPS).

Скачайте установочный скрипт с сайта OpenProject. На момент публикации актуальна ветка 16.x, но перед запуском стоит свериться с текущей стабильной версией на openproject.org/download-and-installation — команда ниже универсальна, меняется только номер ветки в URL:

curl -Lo openproject-installer \
  https://dl.packager.io/srv/opf/openproject/stable/16/installer/ubuntu/24.04.sh
chmod +x openproject-installer
sudo ./openproject-installer install

Установщик задаст серию вопросов в интерактивном режиме:

  • Domain name — ваш домен (тот, что указали в DNS);
  • Autoinstall SSL via Let's Encrypt — можно ответить yes, установщик сам получит сертификат, если домен уже резолвится на сервер;
  • Database — оставьте Install and manage a PostgreSQL database with this installation, если не выносите БД на отдельный сервер (о том, как это делать вручную, — в статье про установку PostgreSQL на Ubuntu 24.04);
  • Memcached, Repositories, SMTP — для старта можно пропустить (Enter) или настроить сразу, если под рукой есть SMTP-реквизиты для уведомлений.

Установка занимает 10-20 минут в зависимости от скорости сети и мощности сервера — в основном время уходит на компиляцию ассетов и настройку базы.

Первый запуск и настройка

После установки OpenProject поднимается на порту 80 (или 443, если сразу выбрали SSL). Проверить статус сервисов:

sudo openproject status

Все процессы (web, worker, cron) должны быть в состоянии started. Если что-то упало — логи лежат в /var/log/openproject/, самый информативный — production.log.

Первый вход выполняется под встроенной учётной записью:

  • логин: admin
  • пароль: admin

Система сразу потребует сменить пароль — сделайте это до того, как откроете доступ команде. Дальше стоит:

  1. Зайти в Administration → Users и создать учётные записи для команды (или настроить приглашения по e-mail, если уже указали SMTP);
  2. В Administration → Roles and permissions проверить, что права по умолчанию соответствуют вашей структуре — по умолчанию роли довольно открытые;
  3. Создать первый проект через Projects → + Project, выбрать тип (Scrum, классический waterfall или пустой шаблон);
  4. Включить нужные модули проекта — диаграмма Ганта, бэклог, вики, тайм-трекинг — они переключаются индивидуально в настройках каждого проекта, а не глобально.

Если сразу видно, что часть модулей не нужна (например, багтрекер, если вы используете отдельный GitLab issues) — отключите их в настройках проекта, интерфейс станет заметно чище.

SSL, обновления и резервное копирование

Если не включили автоматический Let's Encrypt на шаге установки, добавить SSL можно позже той же командой конфигурации:

sudo openproject config:set SERVER_NAME='openproject.example.com'
sudo openproject reconfigure

В интерактивном мастере выберите пункт про SSL и укажите e-mail для уведомлений об истечении сертификата. Автопродление Let's Encrypt настраивается установщиком автоматически через cron; если сертификат всё же не обновился — в статье «SSL-сертификат не обновился» разобраны типичные причины.

Обновление на новую версию OpenProject внутри той же major-ветки:

sudo apt update
sudo apt install --only-upgrade openproject
sudo openproject run rails db:migrate
sudo openproject restart

Перед мажорным апгрейдом (например, с 15.x на 16.x) обязательно сделайте бэкап — миграции базы необратимы без отката из снапшота.

Резервное копирование встроенным механизмом:

sudo openproject run backup

Бэкап (база данных + вложения + конфиги) складывается в /var/db/openproject/backup/ по умолчанию. Настройте выгрузку этой директории на внешнее хранилище через cron — сам установщик этого не делает:

0 3 * * * rsync -a /var/db/openproject/backup/ /mnt/remote-backup/openproject/

Замените путь /mnt/remote-backup/ на реальную точку монтирования вашего бэкап-хранилища (S3-совместимое через rclone, второй сервер по SSH или сетевой диск).

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Можно ли установить OpenProject через Docker вместо пакета?

Да, OpenProject предоставляет официальный docker-compose.yml. Для одиночного VPS пакетная установка обычно проще в обслуживании — меньше движущихся частей и встроенный менеджер конфигурации openproject reconfigure. Docker имеет смысл, если у вас уже стандартизирован деплой через контейнеры или нужен кластер из нескольких серверов.

Хватит ли 4 ГБ RAM для 20 пользователей?

Формально хватит, но с запасом на пики (генерация PDF-отчётов, одновременная работа нескольких человек с диаграммой Ганта) лучше брать 8 ГБ. Оперативная память — первое, что стоит нарастить, если видите тормоза в интерфейсе.

Как перенести OpenProject на другой сервер?

Сделайте sudo openproject run backup на старом сервере, установите OpenProject той же версии на новом, остановите сервисы (sudo openproject stop), распакуйте бэкап через sudo openproject run restore <путь-к-архиву>, затем запустите сервисы обратно.

Нужен ли отдельный сервер под PostgreSQL?

Для команды до 30-50 человек — нет, встроенная база на том же сервере справляется. Выносить БД отдельно стоит при высокой нагрузке или когда одна и та же PostgreSQL обслуживает несколько приложений.

Как включить русский интерфейс?

Язык переключается в профиле пользователя (My account → Settings → Language) — интерфейс переведён на русский из коробки, дополнительная настройка сервера не нужна.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →