bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

OpenProject на VPS: встановлення, налаштування та обслуговування

calendar_month June 19, 2026 schedule 17 хв. читання visibility 23 переглядів
person
Valebyte Team
OpenProject на VPS: встановлення, налаштування та обслуговування

Для встановлення, налаштування та обслуговування OpenProject на VPS рекомендується використовувати контейнеризацію через Docker та Docker Compose, що значно спрощує розгортання, керування залежностями, оновлення та резервне копіювання, забезпечуючи стабільну роботу системи управління проєктами на вашому власному сервері.

Що таке OpenProject і для чого він потрібен на VPS?

OpenProject — це потужне програмне забезпечення для управління проєктами з відкритим вихідним кодом, яке надає широкий спектр функцій для планування, відстеження та спільної роботи над проєктами. Воно розроблене як універсальне рішення, що об'єднує управління завданнями, відстеження помилок, планування проєктів (діаграми Ганта), управління витратами, wiki-сторінки, форуми та багато іншого в єдиній платформі. Це робить його ідеальним вибором для команд будь-якого розміру, від стартапів до великих підприємств, які прагнуть ефективної організації своєї роботи.

Розміщення OpenProject на VPS (Virtual Private Server) дає повний контроль над даними, продуктивністю та безпекою, на відміну від хмарних SaaS-рішень. Це дозволяє адаптувати середовище під специфічні вимоги вашої команди, інтегрувати з іншими внутрішніми системами та забезпечити відповідність корпоративним стандартам безпеки та приватності. Самостійний хостинг OpenProject також виключає абонентську плату за кожного користувача, що робить його економічно вигідним рішенням для зростаючих команд у довгостроковій перспективі.

OpenProject: можливості та переваги

OpenProject надає комплексний набір інструментів, що охоплюють весь життєвий цикл проєкту. Його функціональність включає:

  • Управління завданнями та проєктами: Створення, призначення, відстеження завдань, управління віхами, налаштування робочих процесів. Підтримуються різні методології, включаючи Scrum, Kanban, водоспадну модель.
  • Діаграми Ганта: Візуальне планування проєкту, відстеження залежностей та прогресу.
  • Відстеження помилок та запитів: Ефективне управління дефектами, запитами на нові функції та підтримкою користувачів.
  • Управління витратами та часом: Бюджетування, облік робочого часу, звітність за витратами проєкту.
  • Спільна робота: Wiki-сторінки для документації, форуми для обговорень, коментарі до завдань.
  • Agile-дошки: Інтегровані дошки Scrum та Kanban для команд, що працюють за гнучкими методологіями. Якщо вам цікаві інші Kanban-системи, рекомендуємо ознайомитися з нашою статтею про Kanboard на VPS.
  • Настроювані звіти: Гнучкі інструменти для створення звітів про стан проєкту, прогрес та ресурси.
  • Управління документами: Можливість прикріплювати файли до завдань та проєктів, створювати бібліотеки документів.
  • API: RESTful API для інтеграції із зовнішніми системами.

Переваги OpenProject:

  • Відкритий вихідний код: Прозорість, можливість модифікації та адаптації під унікальні потреби.
  • Гнучкість розгортання: Підтримує самостійний хостинг (self-hosted) на різних платформах, включаючи VPS, що дає повний контроль.
  • Активна спільнота: Постійний розвиток та підтримка з боку спільноти розробників.
  • Широкий функціонал: Один з найповніших наборів функцій серед безкоштовних PM-систем.

Чому варто обрати OpenProject Self-Hosted?

Вибір OpenProject self-hosted, тобто розміщення на власному сервері, особливо на VPS, обумовлений кількома ключовими факторами:

  1. Повний контроль над даними: Усі ваші проєктні дані зберігаються на вашому сервері, що є критично важливим для компаній із жорсткими вимогами до безпеки та конфіденційності. Ви повністю керуєте резервними копіями, доступом та політиками зберігання.
  2. Налаштування та інтеграція: Self-hosted версія дозволяє глибоко кастомізувати систему, інтегрувати її з іншими внутрішніми сервісами (наприклад, LDAP/Active Directory, системи CI/CD, CRM) та адаптувати під специфічні бізнес-процеси вашої організації.
  3. Незалежність від провайдера: Ви не прив'язані до умов та цінової політики стороннього хмарного провайдера. Ваші дані завжди доступні, а працездатність системи залежить лише від вашого VPS та вашої інфраструктури.
  4. Економічна вигода в довгостроковій перспективі: Хоча початкові витрати на налаштування VPS та OpenProject можуть бути вищими, ніж на підписку для кількох користувачів, при зростанні команди або тривалому використанні self-hosted рішення часто виявляється значно дешевшим, оскільки ви платите лише за ресурси VPS, а не за кожного користувача.
  5. Продуктивність: Ви можете виділити рівно стільки ресурсів VPS, скільки необхідно для вашої команди, забезпечуючи оптимальну продуктивність без "сусідства" з іншими клієнтами на спільному хостингу.

Системні вимоги OpenProject: що потрібно знати?

Для успішного встановлення та стабільної роботи OpenProject, особливо в контейнерному середовищі Docker, важливо враховувати системні вимоги. Вони залежать від кількості користувачів та передбачуваного навантаження. OpenProject може бути досить ресурсоємним, особливо при активному використанні та великому обсязі даних.

Мінімальні та рекомендовані вимоги

При плануванні встановлення OpenProject на VPS, орієнтуйтеся на наступні показники:

Ресурс Мінімальні вимоги (до 10 користувачів) Рекомендовані вимоги (10-50 користувачів) Для великих команд (50+ користувачів)
Процесор (vCPU) 2 ядра (2 GHz+) 4 ядра (2.5 GHz+) 8+ ядер (3.0 GHz+)
Оперативна пам'ять (RAM) 4 GB 8 GB 16+ GB
Дисковий простір (NVMe SSD) 50 GB 100 GB 200+ GB
Пропускна здатність мережі 100 Mbps 1 Gbps 1 Gbps+
Операційна система Ubuntu 20.04/22.04 LTS, Debian 11/12, CentOS 7/8, RHEL 8/9
Docker Engine 20.10+
Docker Compose 1.29+ (або Docker Compose V2)

Важливі зауваження:

  • NVMe SSD: Настійно рекомендується використовувати NVMe SSD-диски. OpenProject активно працює з базою даних (PostgreSQL), і швидкість дискової підсистеми є критично важливою для загальної продуктивності. Стандартні HDD або навіть SATA SSD можуть стати "вузьким місцем".
  • RAM: OpenProject, особливо з PostgreSQL, може споживати значну кількість RAM. Якщо ви плануєте використовувати інші сервіси на тому ж VPS, переконайтеся, що у вас достатньо вільної пам'яті.
  • CPU: Кількість ядер процесора впливає на швидкість обробки запитів та виконання фонових завдань. Для активних команд із частими оновленнями та звітами потрібно більше ядер.
  • Своп-файл: Рекомендується налаштувати своп-файл розміром у 1-2 рази більше обсягу ОЗП, якщо у вас менше 16 ГБ RAM, для запобігання збоям при пікових навантаженнях.

Підтримувані операційні системи

Для встановлення OpenProject на сервері через Docker, ви можете використовувати більшість сучасних дистрибутивів Linux. Найбільш популярними та добре підтримуваними є:

  • Ubuntu LTS (Long Term Support): Версії 20.04 та 22.04. Це найбільш часто використовувані дистрибутиви для розгортання Docker-контейнерів.
  • Debian: Версії 11 (Bullseye) та 12 (Bookworm).
  • CentOS/RHEL: Версії 7, 8 та 9.

Переконайтеся, що обрана ОС має актуальні оновлення безпеки та стабільно працює з останніми версіями Docker Engine та Docker Compose.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитися пропозиції →

Підготовка VPS до встановлення OpenProject Docker

Перш ніж приступати до встановлення OpenProject Docker, необхідно підготувати ваш VPS. Цей процес включає оновлення операційної системи, встановлення Docker Engine та Docker Compose. Ми будемо використовувати Ubuntu 22.04 LTS як приклад, але кроки будуть аналогічними для інших Debian-подібних систем.

Оновлення системи та встановлення Docker Engine

Першим кроком завжди є оновлення пакетів вашої операційної системи. Це гарантує, що у вас встановлені останні версії всіх залежностей та патчі безпеки.

sudo apt update
sudo apt upgrade -y

Далі встановимо необхідні пакети для роботи з Docker та додамо офіційний репозиторій Docker:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
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
sudo apt update

Тепер можна встановити Docker Engine, containerd та Docker Compose (стара версія, ми оновимо до V2 пізніше):

sudo apt install docker-ce docker-ce-cli containerd.io -y

Після встановлення переконайтеся, що Docker запущений та працює:

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

Додайте поточного користувача до групи docker, щоб уникнути використання sudo при кожній команді Docker:

sudo usermod -aG docker $USER
newgrp docker

Перевірте, що Docker встановлено коректно, запустивши тестовий контейнер:

docker run hello-world

Встановлення Docker Compose

Docker Compose V2 є кращою версією і встановлюється як плагін до Docker CLI (docker compose замість docker-compose). Якщо ви встановлювали Docker Engine, як показано вище, Docker Compose V2 вже має бути доступним. Перевірити це можна так:

docker compose version

Якщо команда не працює або показує стару версію (1.x.x), ви можете встановити його вручну:

sudo apt update
sudo apt install docker-compose-plugin -y

Після встановлення знову перевірте версію:

docker compose version

Ви повинні побачити версію, що починається з v2.x.x. Тепер ваш VPS готовий до розгортання OpenProject.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Покрокове встановлення OpenProject на VPS через Docker Compose

Встановлення OpenProject через Docker Compose — найбільш рекомендований і простий спосіб розгортання. Цей метод дозволяє керувати всіма компонентами (OpenProject, PostgreSQL, Nginx/Caddy) як єдиним сервісом. Ми будемо використовувати офіційний образ OpenProject.

Створення файлу docker-compose.yml

Створіть директорію для вашого проєкту OpenProject та перейдіть до неї:

mkdir -p /opt/openproject
cd /opt/openproject

Тепер створіть файл docker-compose.yml у цій директорії:

nano docker-compose.yml

Вставте наступний вміст. Цей файл визначає три сервіси: db (PostgreSQL), openproject (основний застосунок) та web (Nginx як reverse proxy). Зверніть увагу, що Nginx тут виступатиме лише як проксі для OpenProject, а не для зовнішнього доступу. Зовнішній reverse proxy (Nginx/Caddy) буде налаштований пізніше.

version: '3.8'

services:
  db:
    image: postgres:13
    restart: always
    environment:
      POSTGRES_DB: openproject
      POSTGRES_USER: openproject
      POSTGRES_PASSWORD: your_strong_db_password_here # Обов'язково змініть на надійний пароль!
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    networks:
      - openproject-net

  openproject:
    image: openproject/openproject:13
    restart: always
    environment:
      DATABASE_URL: postgres://openproject:your_strong_db_password_here@db:5432/openproject
      RAILS_ENV: production
      # EMAIL_DELIVERY_METHOD: smtp # Розкоментуйте та налаштуйте для надсилання пошти
      # SMTP_HOST: smtp.example.com
      # SMTP_PORT: 587
      # SMTP_USER_NAME: your_email_user
      # SMTP_PASSWORD: your_email_password
      # SMTP_AUTHENTICATION: plain
      # SMTP_ENABLE_STARTTLS_AUTO: 'true'
      # DEFAULT_URL_HOST: your_domain.com # Замініть на ваш домен
      # OPENPROJECT_HOST__NAME: your_domain.com # Замініть на ваш домен
      # OPENPROJECT_HTTPS: 'true' # Встановіть у true, якщо використовуєте HTTPS (рекомендується)
      # Якщо ви використовуєте зовнішній reverse proxy, вам не потрібно налаштовувати ці змінні тут.
      # Вони будуть встановлені в конфігурації reverse proxy.
    volumes:
      - ./data:/var/openproject/assets
    depends_on:
      - db
    networks:
      - openproject-net

  web:
    image: openproject/community-nginx:1.0.0 # Використовуємо офіційний Nginx для OpenProject
    restart: always
    ports:
      - "8080:80" # OpenProject буде доступний на порту 8080 всередині VPS
    depends_on:
      - openproject
    networks:
      - openproject-net

networks:
  openproject-net:
    driver: bridge

Важливі моменти:

  • your_strong_db_password_here: Не забудьте змінити цей пароль на щось надійне та унікальне. Він має бути однаковим у секціях db та openproject.
  • ./pgdata та ./data: Це томи для зберігання даних PostgreSQL та асетів OpenProject (файли, вкладення). Вони будуть створені в піддиректоріях pgdata та data всередині /opt/openproject. Це критично важливо для збереження даних при перезапусках контейнерів та оновленнях.
  • Змінні оточення OpenProject: Закоментовані рядки для SMTP та DEFAULT_URL_HOST/OPENPROJECT_HOST__NAME/OPENPROJECT_HTTPS. Їх потрібно буде розкоментувати та налаштувати, коли ви будете готові до надсилання пошти та використовуватимете зовнішній домен з HTTPS. Поки не чіпайте DEFAULT_URL_HOST та OPENPROJECT_HOST__NAME, оскільки ми будемо використовувати зовнішній reverse proxy.
  • Порт 8080:80: OpenProject буде доступний на порту 8080 вашого VPS. Ми налаштуємо зовнішній Nginx або Caddy, який проксіюватиме запити з порту 80/443 на цей порт 8080.

Збережіть файл (Ctrl+O, Enter, Ctrl+X).

Запуск OpenProject

Після створення файлу docker-compose.yml ви можете запустити OpenProject:

docker compose up -d

Ключ -d запускає контейнери у фоновому режимі. Процес може зайняти кілька хвилин, оскільки Docker завантажуватиме образи та ініціалізуватиме базу даних.

Перевірте статус запущених контейнерів:

docker compose ps

Ви повинні побачити три запущені сервіси: db, openproject, web.

Дочекайтеся, поки OpenProject повністю ініціалізується. Це може зайняти кілька хвилин. Ви можете перевірити логи контейнера openproject, щоб переконатися, що він успішно запустився:

docker compose logs -f openproject

Коли ви побачите повідомлення про запуск сервера Puma або схожі, це означає, що застосунок готовий. Тепер OpenProject має бути доступний за адресою http://your_vps_ip:8080. Відкрийте його в браузері. Ви побачите сторінку привітання OpenProject.

Первинне налаштування OpenProject

При першому доступі до OpenProject через веб-інтерфейс, вам буде запропоновано створити обліковий запис адміністратора. Дотримуйтесь інструкцій на екрані:

  1. Перейдіть за http://your_vps_ip:8080.
  2. На першому екрані вам буде запропоновано створити нового адміністратора. Введіть бажаний логін, адресу електронної пошти та надійний пароль.
  3. Після створення облікового запису ви будете перенаправлені на сторінку входу. Увійдіть, використовуючи створені дані.
  4. Вам може бути запропоновано налаштувати мову, часовий пояс та інші базові параметри.

Вітаємо! Базове встановлення OpenProject завершено. Наступний крок — налаштувати безпечний доступ через доменне ім'я та HTTPS.

Налаштування Reverse Proxy та HTTPS для OpenProject на сервері

Для забезпечення безпеки та зручності доступу до OpenProject необхідно налаштувати Reverse Proxy (зворотний проксі) та HTTPS. Reverse Proxy дозволить вам використовувати доменне ім'я (наприклад, openproject.your-domain.com) замість IP-адреси та порту, а HTTPS (SSL/TLS шифрування) захистить передані дані. Ми розглянемо налаштування з Nginx та Caddy.

Перш ніж почати, переконайтеся, що ваш домен або піддомен (наприклад, openproject.your-domain.com) вказує на IP-адресу вашого VPS у DNS-записах.

Налаштування Nginx як зворотного проксі

Nginx — це високопродуктивний веб-сервер, який чудово підходить для ролі зворотного проксі. Якщо Nginx не встановлено, встановіть його:

sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

Створіть новий конфігураційний файл для OpenProject у Nginx:

sudo nano /etc/nginx/sites-available/openproject

Вставте наступну конфігурацію, замінивши your_domain.com на ваш фактичний домен:

server {
    listen 80;
    server_name openproject.your-domain.com; # Замініть на ваш домен

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name openproject.your-domain.com; # Замініть на ваш домен

    ssl_certificate /etc/letsencrypt/live/openproject.your-domain.com/fullchain.pem; # Шлях до вашого сертифіката
    ssl_certificate_key /etc/letsencrypt/live/openproject.your-domain.com/privkey.pem; # Шлях до вашого приватного ключа

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers off;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";

    location / {
        proxy_pass http://localhost:8080; # Проксіюємо на порт, де запущено OpenProject Docker
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
        proxy_buffering off;
        proxy_request_buffering off;

        # Для підтримки WebSocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Збережіть файл. Тепер активуйте конфігурацію та перевірте синтаксис Nginx:

sudo ln -s /etc/nginx/sites-available/openproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

На цьому етапі Nginx налаштований як зворотний проксі, але HTTPS поки не працює, оскільки у вас немає сертифікатів. Для отримання безкоштовних SSL-сертифікатів від Let's Encrypt використовуйте Certbot:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d openproject.your-domain.com

Certbot автоматично отримає сертифікати та оновить конфігурацію Nginx. Після цього ваш OpenProject буде доступний за адресою https://openproject.your-domain.com.

Використання Caddy для автоматичного HTTPS

Caddy — це сучасний веб-сервер з автоматичною підтримкою HTTPS через Let's Encrypt, що значно спрощує налаштування. Це чудова альтернатива Nginx, особливо якщо ви цінуєте простоту.

Встановіть Caddy (приклад для Ubuntu):

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Створіть конфігураційний файл Caddy (Caddyfile):

sudo nano /etc/caddy/Caddyfile

Видаліть існуючий вміст та вставте наступне, замінивши openproject.your-domain.com на ваш домен:

openproject.your-domain.com {
    reverse_proxy localhost:8080
    # Увімкнути стиснення (опціонально)
    encode gzip zstd
    # Заголовки безпеки (опціонально, але рекомендується)
    header {
        X-Frame-Options "SAMEORIGIN"
        X-Content-Type-Options "nosniff"
        X-XSS-Protection "1; mode=block"
    }
}

Збережіть файл. Тепер перевірте конфігурацію Caddy та перезапустіть його:

sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy
sudo systemctl enable caddy

Caddy автоматично отримає та встановить SSL-сертифікати для вашого домену. Ваш OpenProject буде доступний за https://openproject.your-domain.com.

Після налаштування reverse proxy, не забудьте повернутися до файлу docker-compose.yml та встановити змінні оточення для OpenProject, щоб він знав свій зовнішній URL та використовував HTTPS. Відредагуйте секцію openproject:

  openproject:
    # ...
    environment:
      DATABASE_URL: postgres://openproject:your_strong_db_password_here@db:5432/openproject
      RAILS_ENV: production
      # ... інші налаштування пошти ...
      DEFAULT_URL_HOST: openproject.your-domain.com # Розкоментуйте та замініть на ваш домен
      OPENPROJECT_HOST__NAME: openproject.your-domain.com # Розкоментуйте та замініть на ваш домен
      OPENPROJECT_HTTPS: 'true' # Розкоментуйте
    # ...

Після збереження файлу перезапустіть контейнери OpenProject:

cd /opt/openproject
docker compose down
docker compose up -d

Це гарантує, що OpenProject знає свою зовнішню адресу та генеруватиме коректні посилання.

Резервне копіювання та оновлення OpenProject Docker

Регулярне резервне копіювання та своєчасні оновлення — критично важливі аспекти обслуговування будь-якого виробничого застосунку, включаючи OpenProject. Вони забезпечують безпеку даних та доступ до нових функцій та виправлень безпеки.

Стратегії бекапів для OpenProject

При використанні OpenProject через Docker Compose, ваші дані зберігаються у двох основних місцях:

  1. База даних PostgreSQL: Містить всю основну інформацію про проєкти, завдання, користувачів та конфігурацію.
  2. Асети OpenProject: Вкладення, файли, завантажені користувачами (зберігаються в томі ./data).

Для створення повної резервної копії необхідно скопіювати обидва ці компоненти.

Покрокове резервне копіювання:

  1. Зупиніть OpenProject (опціонально, але рекомендується для консистентності):
    cd /opt/openproject
    docker compose stop openproject

    Це гарантує, що дані не будуть змінюватися під час резервного копіювання.

  2. Створіть дамп бази даних PostgreSQL:
    docker compose exec db pg_dump -U openproject openproject > /path/to/backup/openproject_db_$(date +%Y%m%d_%H%M%S).sql

    Замініть /path/to/backup/ на шлях до вашої директорії для бекапів. Вам буде запропоновано ввести пароль для користувача openproject (той, що ви вказували в docker-compose.yml).

  3. Скопіюйте директорію з асетами:
    cp -R /opt/openproject/data /path/to/backup/openproject_data_$(date +%Y%m%d_%H%M%S)
  4. Запустіть OpenProject знову:
    docker compose start openproject

Автоматизація бекапів:

Ви можете автоматизувати цей процес за допомогою скрипта та cron-завдань. Наприклад, створіть скрипт backup_openproject.sh:

#!/bin/bash

BACKUP_DIR="/var/backups/openproject"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
PROJECT_DIR="/opt/openproject"
DB_USER="openproject"
DB_NAME="openproject"
DB_PASSWORD="your_strong_db_password_here" # Використовуйте той самий пароль, що й у docker-compose.yml

mkdir -p $BACKUP_DIR

echo "Stopping OpenProject container..."
docker compose -f $PROJECT_DIR/docker-compose.yml stop openproject

echo "Creating PostgreSQL database dump..."
PGPASSWORD=$DB_PASSWORD docker compose -f $PROJECT_DIR/docker-compose.yml exec db pg_dump -U $DB_USER $DB_NAME > $BACKUP_DIR/openproject_db_$TIMESTAMP.sql

echo "Copying OpenProject assets..."
cp -R $PROJECT_DIR/data $BACKUP_DIR/openproject_data_$TIMESTAMP

echo "Starting OpenProject container..."
docker compose -f $PROJECT_DIR/docker-compose.yml start openproject

echo "Cleaning up old backups (e.g., keep last 7 days)..."
find $BACKUP_DIR -type f -name "openproject_db_*.sql" -mtime +7 -delete
find $BACKUP_DIR -type d -name "openproject_data_*" -mtime +7 -exec rm -rf {} +

echo "Backup complete: $BACKUP_DIR"

Зробіть скрипт виконуваним та додайте його до cron для щоденного виконання:

chmod +x /path/to/backup_openproject.sh
sudo crontab -e

Додайте рядок для виконання скрипта, наприклад, щодня о 3:00 ночі:

0 3 * * * /path/to/backup_openproject.sh > /dev/null 2>&1

Розгляньте можливість використання більш просунутих інструментів для бекапів, таких як Restic на VPS, для шифрування та надсилання резервних копій у віддалене сховище.

Процес оновлення OpenProject

Оновлення OpenProject при використанні Docker Compose — відносно простий процес, який зводиться до завантаження нових образів та перезапуску контейнерів. Завжди робіть резервну копію перед оновленням!

  1. Створіть резервну копію: Перш ніж почати, переконайтеся, що у вас є актуальна резервна копія бази даних та асетів.
  2. Перейдіть до директорії OpenProject:
    cd /opt/openproject
  3. Зупиніть поточні контейнери:
    docker compose down

    Це зупинить та видалить поточні контейнери, але збереже томи з даними.

  4. Завантажте останні образи:
    docker compose pull

    Ця команда завантажить останні версії образів, зазначених у docker-compose.yml (наприклад, openproject/openproject:13). Якщо ви хочете оновитися до конкретної версії, змініть тег образу в docker-compose.yml (наприклад, на openproject/openproject:14) перед виконанням docker compose pull.

  5. Запустіть OpenProject з новими образами:
    docker compose up -d

    Docker Compose створить нові контейнери із завантажених образів. OpenProject автоматично виконає необхідні міграції бази даних при першому запуску нової версії. Це може зайняти деякий час, особливо для великих баз даних.

  6. Перевірте статус:
    docker compose ps

    Переконайтеся, що всі контейнери запущені.

  7. Перевірте логи:
    docker compose logs -f openproject

    Переконайтеся, що немає помилок і застосунок запустився коректно.

Після успішного оновлення ваш OpenProject буде працювати з останньою версією.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Який VPS-конфіг обрати для OpenProject під реальне навантаження?

Вибір оптимальної конфігурації VPS для OpenProject залежить від багатьох факторів: кількості активних користувачів, інтенсивності використання (частота створення завдань, завантаження файлів, генерації звітів), обсягу збережених даних та наявності інших застосунків на тому ж сервері. Недооцінка вимог може призвести до повільної роботи, а переоцінка — до зайвих витрат. Valebyte.com пропонує різні тарифи, які можуть підійти для OpenProject.

Оцінка навантаження та вибір ресурсів

При виборі VPS для OpenProject на сервері враховуйте наступні параметри:

  1. Кількість користувачів: Це основний фактор. Чим більше користувачів, тим більше одночасних запитів до бази даних та застосунку.
  2. Інтенсивність використання: Команда, яка активно використовує OpenProject весь робочий день (постійно створює завдання, коментує, завантажує файли), генеруватиме значно більше навантаження, ніж команда, яка використовує його лише для щотижневого планування.
  3. Тип диска: NVMe SSD — це не рекомендація, а вимога для стабільної та швидкої роботи OpenProject. База даних PostgreSQL дуже чутлива до швидкості дискової підсистеми.
  4. Обсяг даних: У міру зростання проєктів та кількості вкладень, знадобиться більше дискового простору.
  5. Додаткові сервіси: Якщо на тому ж VPS працюватимуть інші застосунки (наприклад, NocoDB для баз даних, Wiki.js для документації), це збільшить загальне навантаження на ресурси.

Рекомендації щодо ресурсів:

  • Процесор (vCPU): OpenProject активно використовує CPU для обробки запитів, рендерингу сторінок та виконання фонових завдань. Чим вища тактова частота та кількість ядер, тим краще.
  • Оперативна пам'ять (RAM): OpenProject, особливо з PostgreSQL, може бути досить "ненажерливим" до пам'яті. Нестача RAM призведе до активного використання свопу та різкого падіння продуктивності.
  • Дисковий простір: Почніть із запасом. Якщо 50 GB NVMe SSD достатньо для невеликого старту, то для активної команди з безліччю вкладень знадобиться 100-200 GB.

Приклади конфігурацій VPS Valebyte.com

Виходячи з потреб у ресурсах, ми пропонуємо наступні приблизні конфігурації VPS від Valebyte.com для OpenProject:

Сценарій використання vCPU RAM NVMe SSD Орієнтовна вартість/міс. Рекомендації
Мала команда (до 10 користувачів)
Невеликі проєкти, базовий функціонал
2 ядра 4 GB 50 GB ~ $10-15 Підходить для стартапів та невеликих команд. Переконайтеся, що немає інших ресурсоємних застосунків на цьому ж VPS.
Середня команда (10-30 користувачів)
Активне використання, кілька проєктів, вкладення
4 ядра 8 GB 100 GB ~ $20-35 Оптимальний вибір для більшості команд, що розвиваються. Забезпечує хорошу продуктивність при помірному навантаженні.
Велика команда (30-70 користувачів)
Безліч проєктів, інтенсивна робота, звіти
6-8 ядер 16 GB 200 GB ~ $45-70 Для команд, що активно використовують OpenProject як центральну систему управління. Дозволяє обробляти значну кількість одночасних запитів.
Дуже велика команда / Підприємство (70+ користувачів)
Критичні проєкти, висока доступність, об'ємні дані
8+ ядер 32+ GB 400+ GB ~ $80+ Потрібен ретельний моніторинг та, можливо, кластерні рішення для бази даних. Зверніться до фахівців Valebyte.com для індивідуальної консультації.

Важливо: Завжди починайте з конфігурації, яка, на вашу думку, відповідає поточним потребам, і будьте готові до масштабування. Перевага VPS в тому, що ви можете легко збільшити ресурси (vCPU, RAM, диск) у міру зростання вашої команди та проєктів. Valebyte.com надає гнучкі тарифні плани, що дозволяють адаптуватися до мінливих вимог.

Висновки

Встановлення OpenProject на VPS через Docker Compose — це ефективний та масштабований спосіб отримати повний контроль над вашою системою управління проєктами. Вибір правильної конфігурації VPS та дотримання рекомендацій щодо резервного копіювання та оновлення забезпечать стабільну та безпечну роботу OpenProject для вашої команди. Рекомендується починати з VPS з 4 GB RAM та 2 vCPU на NVMe SSD, масштабуючи ресурси в міру зростання навантаження.

Готові обрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.