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

Отримати VPS arrow_forward

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

calendar_month June 14, 2026 schedule 20 хв. читання visibility 31 переглядів
person
Valebyte Team
Wiki.js на VPS: встановлення, налаштування та обслуговування

Встановлення Wiki.js на VPS включає розгортання через Docker/Compose, налаштування зворотного проксі з HTTPS та подальше обслуговування, забезпечуючи потужну self-hosted платформу для управління знаннями, доступну з будь-якої точки світу.

Wiki.js — це сучасна, потужна та розширювана система управління знаннями (Wiki), розроблена на Node.js. Вона дозволяє створювати, редагувати та керувати контентом за допомогою інтуїтивно зрозумілого інтерфейсу, підтримуючи різні редактори, включаючи Markdown, AsciiDoc та WYSIWYG. Розгортання Wiki.js на власному VPS надає повний контроль над даними, безпекою та продуктивністю, роблячи його ідеальним рішенням для компаній, команд розробників або приватних осіб, які бажають створити централізоване сховище інформації.

У цьому детальному посібнику ми розглянемо кожен етап: від системних вимог та вибору оптимального VPS до покрокового встановлення Wiki.js з використанням Docker, налаштування зворотного проксі з HTTPS та подальшого обслуговування системи. Ми також надамо рекомендації щодо вибору конфігурації VPS, щоб ваша Wiki.js працювала стабільно та швидко навіть під високим навантаженням.

Що таке Wiki.js і чому це ідеальне рішення для управління знаннями на VPS?

Wiki.js є однією з найсучасніших та функціональних платформ для створення вікі-сайтів, розробленою з урахуванням потреб сьогоднішніх користувачів та адміністраторів. Вона побудована на базі Node.js, що забезпечує високу продуктивність та гнучкість. На відміну від традиційних вікі-систем, Wiki.js робить акцент на зручності використання, розширюваності та інтеграції з сучасними технологіями. Розгортання Wiki.js на сервері, особливо на VPS, дає вам повний контроль над вашою базою знань, її безпекою та доступністю.

Основні можливості та переваги Wiki.js

Wiki.js виділяється на тлі конкурентів завдяки низці ключових особливостей:

  • Різноманітність редакторів: Підтримує Markdown, AsciiDoc, WYSIWYG (Visual Editor), а також HTML. Це дозволяє користувачам вибирати найбільш зручний спосіб створення та редагування контенту.
  • Гнучка система автентифікації: Інтеграція з LDAP/AD, OAuth2 (Google, GitHub, GitLab, Microsoft), SAML, а також локальна автентифікація. Це робить Wiki.js придатною для використання в корпоративному середовищі з існуючими системами управління користувачами.
  • Управління файлами та медіа: Вбудований файловий менеджер дозволяє легко завантажувати, організовувати та вставляти зображення та інші медіафайли у статті.
  • Контроль версій: Кожна зміна у статті автоматично зберігається, надаючи повну історію змін та можливість відновлення попередніх версій.
  • Пошук та навігація: Потужний повнотекстовий пошук та інтуїтивна навігація за категоріями та тегами допомагають швидко знаходити потрібну інформацію.
  • Налаштовуваний інтерфейс: Можливість зміни тем, логотипів та інших елементів дизайну для відповідності фірмовому стилю.
  • Розширюваність: Підтримка плагінів та модулів для додавання нової функціональності, а також API для інтеграції з іншими системами.

Для кого підходить Wiki.js self-hosted?

Модель Wiki.js self-hosted на власному VPS відкриває широкі можливості для різних категорій користувачів:

  • Команди розробників: Для документування коду, API, проектних рішень та технічних специфікацій. Це допомагає новим членам команди швидше вливатися в проект, а досвідченим — підтримувати актуальність знань.
  • Малий та середній бізнес: Для створення внутрішньої бази знань, інструкцій для співробітників, корпоративних політик та FAQ. Це знижує навантаження на службу підтримки та підвищує ефективність роботи.
  • Освітні установи: Для організації навчальних матеріалів, конспектів лекцій, довідників та студентських проектів.
  • Спільноти та некомерційні організації: Для централізованого зберігання інформації, протоколів зборів, планів заходів та спільної роботи над проектами.
  • Приватні особи: Для особистих нотаток, щоденників, колекцій рецептів або як персональна база знань за хобі та інтересами.

Вибравши Wiki.js на VPS, ви отримуєте не просто вікі, а потужний інструмент для організації та розповсюдження інформації, повністю контрольований вами. Це особливо актуально, якщо ви цінуєте конфіденційність даних та гнучкість налаштування, яку хмарні сервіси не завжди можуть запропонувати. Детальніше про відмінності в хостингу можна почитати в нашій статті Контейнери vs ВМ vs Bare-metal: хостинг-картина 2026.

Системні вимоги для встановлення Wiki.js на сервері

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

Мінімальні та рекомендовані апаратні ресурси

Вибір апаратних ресурсів VPS залежить від передбачуваного навантаження: кількості користувачів, обсягу контенту та частоти звернень. Ось загальні рекомендації:

Мінімальні вимоги (для особистого використання або невеликої команди до 5-10 осіб):

  • Процесор: 1 vCPU (віртуальне ядро) з частотою від 2.0 ГГц.
  • Оперативна пам'ять (RAM): 1 GB. Wiki.js на Node.js досить ефективно використовує пам'ять, але для стабільної роботи з ОС, базою даних та Docker-контейнером 1 GB — це абсолютний мінімум.
  • Дисковий простір: 10-20 GB NVMe SSD. SSD значно прискорює роботу бази даних та завантаження сторінок. NVMe краще, ніж SATA SSD.
  • Пропускна здатність мережі: 100 Mbps.

Рекомендовані вимоги (для команд середнього розміру до 50 осіб або більш активного використання):

  • Процесор: 2 vCPU з частотою від 2.5 ГГц.
  • Оперативна пам'ять (RAM): 2-4 GB. Це забезпечить комфортну роботу при одночасному редагуванні та перегляді статей кількома користувачами.
  • Дисковий простір: 40-80 GB NVMe SSD. Дозволить зберігати більше контенту, зображень та забезпечить запас для зростання.
  • Пропускна здатність мережі: 1 Gbps.

Для великих інсталяцій (понад 50 користувачів, інтенсивне використання):

  • Процесор: 4+ vCPU з високою тактовою частотою.
  • Оперативна пам'ять (RAM): 8+ GB.
  • Дисковий простір: 100+ GB NVMe SSD.
  • Пропускна здатність мережі: 1 Gbps.

Важливо пам'ятати, що ці вимоги включають ресурси для самої Wiki.js, бази даних, Docker-рушія та операційної системи. Завжди краще мати невеликий запас, ніж зіткнутися з нестачею ресурсів.

Необхідне програмне забезпечення

Для успішного встановлення Wiki.js на VPS вам знадобиться наступний набір програмного забезпечення:

  • Операційна система:
    • Бажано: Ubuntu Server (20.04 LTS або новіша), Debian (11 або новіша), CentOS Stream (8 або новіша). Ці дистрибутиви добре підтримуються Docker та мають велику документацію.
    • Важливо: Чиста інсталяція, без попередньо встановлених веб-серверів (Apache, Nginx), якщо тільки ви не плануєте використовувати їх для інших цілей.
  • Docker Engine: Актуальна стабільна версія Docker для вашої операційної системи. Wiki.js офіційно рекомендує Wiki.js Docker-встановлення, оскільки це спрощує розгортання та управління залежностями.
  • Docker Compose: Для оркестрації кількох Docker-контейнерів (Wiki.js, база даних) за допомогою одного конфігураційного файлу.
  • База даних: Wiki.js підтримує кілька типів баз даних:
    • PostgreSQL (рекомендується): Версія 9.5 або новіша. Це найбільш бажаний варіант для Wiki.js через його надійність та продуктивність.
    • MySQL/MariaDB: Версія 5.7.8 / 10.2.7 або новіша.
    • SQLite: Тільки для дуже невеликих інсталяцій та тестування, не рекомендується для продакшн-середовища через обмеження продуктивності та масштабованості.
    • MS SQL Server: Підтримується, але менш поширений на Linux VPS.
    Ми будемо використовувати PostgreSQL у зв'язці з Docker.
  • Зворотний проксі (Reverse Proxy):
    • Nginx або Caddy. Вони прийматимуть вхідні запити та перенаправлятимуть їх до Docker-контейнера Wiki.js, а також забезпечуватимуть SSL-шифрування (HTTPS).

Переконавшись, що ваш VPS відповідає цим вимогам, ви готові до наступного кроку – підготовки сервера до розгортання Wiki.js.

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

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

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

Підготовка VPS до встановлення Wiki.js Docker-образу

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

Вибір та налаштування операційної системи

Як згадувалося раніше, для розгортання Wiki.js ідеально підходять дистрибутиви на базі Debian/Ubuntu. Ми будемо використовувати Ubuntu Server 22.04 LTS як найбільш популярний та добре документований варіант.

1. Доступ до VPS: Підключіться до вашого VPS по SSH. Вам знадобляться IP-адреса сервера та облікові дані (логін/пароль або SSH-ключ).

ssh user@your_vps_ip_address

2. Оновлення системи: Після підключення насамперед оновіть усі встановлені пакети до останніх версій. Це забезпечить стабільність та безпеку вашої системи.

sudo apt update
sudo apt upgrade -y

3. Налаштування файрволу (UFW): Настійно рекомендується налаштувати файрвол для обмеження доступу до сервера лише необхідними портами. Для Ubuntu це Uncomplicated Firewall (UFW).

sudo apt install ufw -y
sudo ufw allow OpenSSH # Дозволити SSH-з'єднання
sudo ufw allow http # Дозволити HTTP (порт 80)
sudo ufw allow https # Дозволити HTTPS (порт 443)
sudo ufw enable
sudo ufw status

Переконайтеся, що SSH дозволено, перш ніж вмикати UFW, інакше ви можете втратити доступ до сервера.

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

Для розгортання Wiki.js Docker-контейнерів нам знадобиться встановити Docker Engine та Docker Compose.

1. Встановлення Docker Engine: Видаліть старі версії Docker, якщо вони є:

for pkg in docker.io docker-doc docker-compose docker-ce docker-ce-cli docker-ce-rootless-extras docker-buildx-plugin docker-compose-plugin containerd.io; do sudo apt remove $pkg; done

Встановіть необхідні пакети для встановлення Docker:

sudo apt install ca-certificates curl gnupg lsb-release -y

Додайте офіційний GPG ключ Docker:

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Додайте репозиторій Docker до APT джерел:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Оновіть список пакетів та встановіть Docker Engine, containerd та Docker Compose (клієнт):

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

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

sudo docker run hello-world

Ви повинні побачити повідомлення "Hello from Docker!".

3. Додавання користувача до групи docker (необов'язково, але зручно): Щоб не використовувати sudo щоразу при роботі з Docker, додайте свого користувача до групи docker. Замініть your_user на ім'я вашого користувача на VPS.

sudo usermod -aG docker your_user

Після виконання цієї команди вам потрібно вийти з SSH-сесії та підключитися заново, щоб зміни набули чинності.

Тепер ваш VPS готовий до розгортання Wiki.js за допомогою Docker Compose. Цей підхід робить встановлення Wiki.js простим та відтворюваним, що дуже важливо для будь-якого self-hosted додатку.

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

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

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

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

Покрокове встановлення Wiki.js на VPS з використанням Docker Compose

Використання Docker Compose — це найбільш рекомендований та ефективний спосіб встановлення Wiki.js на VPS. Він дозволяє визначити всі сервіси (Wiki.js, базу даних) та їх конфігурацію в одному YAML-файлі, спрощуючи розгортання та управління. Ми будемо використовувати PostgreSQL як базу даних, що є оптимальним вибором для Wiki.js на сервері.

Налаштування файлу docker-compose.yml

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

mkdir wiki-js
cd wiki-js

Створіть файл docker-compose.yml:

nano docker-compose.yml

Вставте наступний вміст. Обов'язково замініть your_wiki_db_password на надійний пароль для вашої бази даних та your_wiki_host на доменне ім'я, за яким буде доступна ваша Wiki.js (наприклад, wiki.yourdomain.com). Якщо ви поки не налаштували домен, можете використовувати IP-адресу VPS.

version: "3.5"

services:
  wiki:
    image: ghcr.io/requarks/wiki:2
    container_name: wiki-js
    restart: unless-stopped
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wiki
      DB_PASS: your_wiki_db_password # Замініть на ваш надійний пароль
      DB_NAME: wiki
      # URL вашої Wiki.js. Важливо для коректної роботи посилань та редиректів.
      # Замініть на ваш домен або IP-адресу, якщо немає домену.
      WIKI_HOSTNAME: your_wiki_host 
      WIKI_PORT: 3000 # Порт всередині контейнера
      # WIKI_BASE_URL: https://your_wiki_host # Якщо ви використовуєте піддиректорію, наприклад, /wiki/
    ports:
      - "3000:3000" # Якщо ви хочете прямий доступ без проксі, інакше порт буде проксіюватися
    volumes:
      - ./data/wiki:/wiki/data
    depends_on:
      - db

  db:
    image: postgres:13-alpine
    container_name: wiki-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: wiki
      POSTGRES_PASSWORD: your_wiki_db_password # Повинен збігатися з DB_PASS вище
      POSTGRES_DB: wiki
    volumes:
      - ./data/db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U wiki -d wiki"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  wiki_data:
  db_data:

Пояснення до файлу:

  • version: "3.5": Вказує версію файлу Docker Compose.
  • services:: Визначає сервіси.
    • wiki:
      • image: ghcr.io/requarks/wiki:2: Використовує офіційний образ Wiki.js з GitHub Container Registry.
      • container_name: wiki-js: Ім'я контейнера.
      • restart: unless-stopped: Контейнер буде автоматично перезапускатися, якщо його не було зупинено вручну.
      • environment:: Змінні оточення для налаштування Wiki.js та підключення до бази даних.
      • ports: - "3000:3000": Прокидає порт 3000 контейнера на порт 3000 хоста. Якщо ви використовуєте зворотний проксі, цей порт не буде безпосередньо доступний ззовні, але потрібен для внутрішнього зв'язку.
      • volumes: - ./data/wiki:/wiki/data: Монтує директорію ./data/wiki з хоста в контейнер для зберігання даних Wiki.js (зображення, файли тощо).
      • depends_on: - db: Вказує, що сервіс wiki залежить від сервісу db і буде запущений після нього.
    • db:
      • image: postgres:13-alpine: Використовує офіційний образ PostgreSQL версії 13 (легка alpine-версія).
      • container_name: wiki-db: Ім'я контейнера бази даних.
      • environment:: Змінні для налаштування PostgreSQL (користувач, пароль, ім'я бази даних).
      • volumes: - ./data/db:/var/lib/postgresql/data: Монтує директорію ./data/db з хоста для постійного зберігання даних бази даних.
      • healthcheck:: Перевірка працездатності бази даних, щоб Wiki.js не намагалася підключитися до ще не готової бази.

Запуск Wiki.js та початкове налаштування

Після збереження файлу docker-compose.yml ви можете запустити Wiki.js та PostgreSQL однією командою:

docker compose up -d

Ключ -d означає "detached mode", тобто контейнери будуть запущені у фоновому режимі.

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

docker compose ps

Ви повинні побачити обидва контейнери (wiki-js та wiki-db) у статусі "running".

Початкове налаштування Wiki.js:

Тепер Wiki.js повинна бути доступна за IP-адресою вашого VPS на порту 3000 (наприклад, http://your_vps_ip_address:3000). Відкрийте цю адресу в браузері. Ви побачите сторінку початкового налаштування Wiki.js.

  1. Вибір бази даних: На першому кроці переконайтеся, що вибрано "PostgreSQL".
  2. Дані підключення до БД: Введіть ті ж дані, що ви вказали в docker-compose.yml:
    • Host: db (ім'я сервісу бази даних у Docker Compose)
    • Port: 5432
    • Database: wiki
    • User: wiki
    • Password: your_wiki_db_password
    Натисніть "Connect".
  3. Налаштування адміністратора: Після успішного підключення до БД вам буде запропоновано створити обліковий запис адміністратора. Введіть ім'я користувача, адресу електронної пошти та надійний пароль. Запам'ятайте ці дані!
  4. Завершення встановлення: Після створення адміністратора Wiki.js буде готова до використання. Ви будете перенаправлені на головну сторінку вашої нової вікі.

На цьому етапі встановлення Wiki.js завершено. Однак для безпечного та зручного використання в продакшені необхідно налаштувати зворотний проксі з HTTPS. Про це ми поговоримо в наступній секції. Якщо ви хочете дізнатися більше про розгортання інших self-hosted додатків, ознайомтеся з нашою статтею про Linkwarden на VPS: встановлення, налаштування та обслуговування.

Налаштування зворотного проксі та HTTPS для Wiki.js

Прямий доступ до Wiki.js за портом 3000 (наприклад, http://your_vps_ip_address:3000) не є безпечним та професійним рішенням для продакшн-середовища. Вам необхідно налаштувати зворотний проксі (Reverse Proxy) та забезпечити шифрування трафіку за допомогою HTTPS. Це не тільки підвищить безпеку, а й зробить ваш сайт більш довіреним в очах пошукових систем та користувачів. Ми розглянемо налаштування за допомогою Nginx та Caddy.

Перш ніж почати, переконайтеся, що у вас є доменне ім'я, яке вказує на IP-адресу вашого VPS (записи A та/або AAAA).

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

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

1. Встановлення Nginx:

sudo apt install nginx -y

2. Налаштування Nginx для Wiki.js: Створіть новий конфігураційний файл для вашого домену. Замініть wiki.yourdomain.com на ваше реальне доменне ім'я.

sudo nano /etc/nginx/sites-available/wiki.yourdomain.com

Вставте наступний вміст:

server {
    listen 80;
    listen [::]:80;
    server_name wiki.yourdomain.com; # Замініть на ваш домен

    # Перенаправлення HTTP на HTTPS (буде налаштовано після отримання сертифіката)
    return 301 https://$host$request_uri; 
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name wiki.yourdomain.com; # Замініть на ваш домен

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

    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:3000; # Порт, на якому Wiki.js доступна всередині VPS
        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_http_version 1.1;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_redirect off;

        # Підтримка WebSocket
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

3. Активація конфігурації та перевірка синтаксису:

sudo ln -s /etc/nginx/sites-available/wiki.yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

4. Встановлення Certbot для HTTPS (Let's Encrypt): Certbot автоматично отримає та оновить SSL-сертифікати від Let's Encrypt.

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d wiki.yourdomain.com

Дотримуйтесь інструкцій Certbot. Він автоматично оновить ваш Nginx-конфіг, додавши шляхи до сертифікатів та налаштувавши перенаправлення HTTP на HTTPS.

Після цього ваша Wiki.js буде доступна за адресою https://wiki.yourdomain.com.

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

Caddy — це сучасний веб-сервер, який автоматично керує SSL-сертифікатами Let's Encrypt, що робить його дуже зручним для розгортання. Для Wiki.js Docker-контейнера Caddy може бути простішим рішенням.

1. Встановлення Caddy:

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

2. Налаштування Caddyfile: Створіть або відредагуйте файл /etc/caddy/Caddyfile:

sudo nano /etc/caddy/Caddyfile

Очистіть його вміст та вставте наступне, замінивши wiki.yourdomain.com на ваш домен:

wiki.yourdomain.com { # Замініть на ваш домен
    reverse_proxy 127.0.0.1:3000 { # Порт, на якому Wiki.js доступна всередині VPS
        header_up Host {host}
        header_up X-Real-IP {remote_ip}
        header_up X-Forwarded-For {remote_ip}
        header_up X-Forwarded-Proto {scheme}
        # Підтримка WebSocket
        header_up Upgrade {http.request.header.Upgrade}
        header_up Connection {http.request.header.Connection}
    }

    # Увімкніть стиснення Gzip (за бажанням)
    encode gzip

    # Логування (за бажанням)
    log {
        output file /var/log/caddy/access.log
    }
}

3. Перевірка та запуск Caddy:

sudo caddy validate
sudo systemctl reload caddy

Caddy автоматично отримає SSL-сертифікат від Let's Encrypt та запустить ваш сайт по HTTPS. Ваша Wiki.js буде доступна за адресою https://wiki.yourdomain.com.

Обидва варіанти зворотного проксі забезпечують безпечний доступ до вашої Wiki.js self-hosted інсталяції. Вибір між Nginx та Caddy залежить від ваших уподобань та досвіду. Caddy часто вибирають за простоту, а Nginx — за гнучкість та широкі можливості налаштування. Пам'ятайте, що для стабільної роботи будь-якої з цих систем потрібен достатній обсяг пам'яті та процесорних ресурсів, які ви виділяєте своєму VPS. Для моніторингу цих показників може бути корисною установка Netdata на VPS.

Обслуговування Wiki.js на сервері: резервні копії, оновлення та моніторинг

Розгортання Wiki.js на VPS — це лише початок. Для забезпечення стабільної, безпечної та актуальної роботи вашої системи управління знаннями необхідно регулярно виконувати завдання з обслуговування: резервне копіювання, оновлення та моніторинг. Ці кроки є критично важливими для будь-якого self-hosted додатку.

Стратегії резервного копіювання даних Wiki.js

Резервне копіювання — це наріжний камінь будь-якої продакшн-системи. У випадку з Wiki.js, що працює на Docker Compose, вам потрібно створювати резервні копії двох основних компонентів:

  1. База даних PostgreSQL: Містить усі текстові дані статей, метадані, користувачів та налаштування.
  2. Директорія з файлами Wiki.js: Містить завантажені зображення, файли та інші статичні ресурси, які ви вказали в volumes (наприклад, ./data/wiki).

Рекомендований підхід до резервного копіювання:

1. Резервне копіювання бази даних PostgreSQL: Використовуйте утиліту pg_dump всередині контейнера PostgreSQL. Це гарантує консистентність даних.

# Перейдіть до директорії, де знаходиться ваш docker-compose.yml
cd ~/wiki-js 

# Виконайте команду резервного копіювання всередині контейнера db
docker compose exec db pg_dump -U wiki wiki > ./backups/wiki_db_$(date +%Y%m%d%H%M%S).sql

Ця команда створить SQL-дамп вашої бази даних у директорії ./backups/. Переконайтеся, що директорія backups існує: mkdir -p ./backups.

2. Резервне копіювання файлів Wiki.js: Просто скопіюйте директорію з даними Wiki.js.

# Перейдіть до директорії, де знаходиться ваш docker-compose.yml
cd ~/wiki-js 

# Створіть архів директорії з файлами Wiki.js
tar -czvf ./backups/wiki_files_$(date +%Y%m%d%H%M%S).tar.gz ./data/wiki

3. Автоматизація резервного копіювання: Налаштуйте cron-завдання для регулярного виконання цих команд. Наприклад, для щоденного резервного копіювання о 03:00 ночі:

crontab -e

Додайте наступний рядок (замініть /home/your_user/wiki-js на шлях до вашої директорії Wiki.js):

0 3 * * * cd /home/your_user/wiki-js && docker compose exec db pg_dump -U wiki wiki > ./backups/wiki_db_$(date +%Y%m%d%H%M%S).sql && tar -czvf ./backups/wiki_files_$(date +%Y%m%d%H%M%S).tar.gz ./data/wiki

4. Зберігання резервних копій: Ніколи не зберігайте резервні копії лише на тому ж сервері, що й робоча система. Регулярно переміщуйте їх у віддалене сховище (S3, Dropbox, інший VPS) або на локальну машину. Використовуйте rsync, scp або спеціалізовані утиліти для хмарних сховищ.

Процес оновлення Wiki.js та Docker-контейнерів

Регулярні оновлення важливі для отримання нових функцій, виправлень помилок та патчів безпеки. Процес оновлення Wiki.js Docker-інсталяції відносно простий:

1. Перед оновленням: Обов'язково зробіть повну резервну копію бази даних та файлів, як описано вище. Це ваша страховка на випадок непередбачених проблем.

cd ~/wiki-js
docker compose exec db pg_dump -U wiki wiki > ./backups/wiki_db_pre_update_$(date +%Y%m%d%H%M%S).sql
tar -czvf ./backups/wiki_files_pre_update_$(date +%Y%m%d%H%M%S).tar.gz ./data/wiki

2. Зупинка Wiki.js:

docker compose down

3. Оновлення образів Docker: Завантажте останні версії образів Wiki.js та PostgreSQL:

docker compose pull

Якщо в docker-compose.yml ви використовуєте теги типу :latest або :2 (як у нашому прикладі), ця команда оновить їх до найсвіжіших версій, доступних під цим тегом. Для PostgreSQL ми використовуємо :13-alpine, що означає оновлення лише в рамках 13-ї версії.

4. Запуск оновленої Wiki.js:

docker compose up -d

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

5. Перевірка: Після запуску переконайтеся, що Wiki.js працює коректно і всі дані доступні.

Моніторинг продуктивності та безпеки

Моніторинг дозволяє своєчасно виявляти проблеми з продуктивністю, безпекою та доступністю. Для Wiki.js на сервері це критично важливо.

  • Моніторинг системних ресурсів:
    • Використовуйте утиліти htop, top, free -h для швидкого огляду використання CPU, RAM та диска.
    • Для більш глибокого моніторингу розгляньте встановлення Netdata на VPS або Prometheus/Grafana.
  • Моніторинг логів Docker:
    • Перевіряйте логи контейнерів Wiki.js та PostgreSQL на предмет помилок:
      docker compose logs -f wiki
      docker compose logs -f db
  • Моніторинг доступності:
    • Використовуйте зовнішні сервіси моніторингу (наприклад, UptimeRobot, Healthchecks.io), які перевірятимуть доступність вашого домену та сповіщатимуть вас у разі збоїв.
  • Безпека:
    • Регулярно оновлюйте операційну систему, Docker та самі Docker-образи.
    • Використовуйте складні, унікальні паролі для всіх облікових записів, особливо для адміністратора Wiki.js та бази даних.
    • Налаштуйте файрвол (UFW) для обмеження доступу до портів.
    • Розгляньте використання Fail2Ban для захисту від атак перебору паролів на SSH та Nginx/Caddy.
    • Якщо ваша Wiki.js містить конфіденційну інформацію, розгляньте можливість використання 2FA для адміністративних облікових записів, якщо це підтримується Wiki.js або вашою системою автентифікації.

Уважне ставлення до обслуговування гарантує, що ваша Wiki.js self-hosted буде надійною та безпечною платформою для управління знаннями на довгі роки.

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

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

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

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

Який VPS вибрати для Wiki.js: рекомендації щодо конфігурації під реальне навантаження

Вибір відповідного VPS для Wiki.js є ключовим фактором для забезпечення продуктивності, стабільності та масштабованості вашої бази знань. Неправильно підібрана конфігурація може призвести до повільної роботи, частих збоїв та загального розчарування користувачів. Ми розглянемо, як оцінити потреби та запропонуємо конкретні конфігурації.

Оцінка потреб: від невеликої команди до корпоративного порталу

Щоб вибрати оптимальний VPS, необхідно чітко розуміти, хто і як використовуватиме Wiki.js:

  1. Кількість користувачів:
    • Невелика команда (до 10 осіб): Основне використання — перегляд контенту, рідкісне редагування.
    • Середня команда (10-50 осіб): Активне використання, часті перегляди, регулярне редагування кількома користувачами одночасно.
    • Велика організація (50+ осіб): Високе навантаження, безліч одночасних користувачів, інтенсивні операції читання/запису, можливо, інтеграції з іншими системами.
  2. Обсяг контенту:
    • Кілька десятків статей, без великої кількості зображень — мінімальні вимоги.
    • Сотні статей, багато зображень, прикріплених файлів — потрібно більше дискового простору та RAM для кешування.
    • Тисячі статей, велика медіатека — потребуватиме значних ресурсів, особливо для бази даних та файлового сховища.
  3. Частота використання:
    • Використовується кілька разів на день — можна обійтися мінімальними ресурсами.
    • Використовується постійно протягом робочого дня — вимагає стабільної продуктивності.
    • Пікові навантаження (наприклад, після розсилки оголошення) — важливий запас по CPU та RAM.
  4. Додаткові сервіси на VPS:
    • Чи плануєте ви розміщувати на цьому ж VPS інші додатки (наприклад, Gitea, Firefly III або поштовий сервер)? Якщо так, то загальні вимоги до ресурсів значно зростуть.

Порівняльна таблиця рекомендованих VPS-конфігурацій

У таблиці нижче представлені рекомендації щодо вибору VPS для Wiki.js на VPS залежно від передбачуваного навантаження. Ціни вказані орієнтовно та можуть відрізнятися у різних провайдерів.

Сценарій використання vCPU RAM (ГБ) SSD (NVMe) Пропускна здатність Орієнтовна ціна/міс. Особливості
Особисте / Мала команда (до 10 користувачів) 1-2 1-2 20-40 GB 100 Mbps $5 - $15 Економічне рішення для старту. Достатньо для базових завдань.
Середня команда (10-50 користувачів) 2-4 4-8 80-160 GB 1 Gbps $15 - $40 Оптимальний баланс продуктивності та вартості. Добре справляється з одночасним редагуванням.
Велика організація (50+ користувачів) 4-8+ 8-16+ 200-500+ GB 1-10 Gbps $40 - $100+ Висока продуктивність для інтенсивного використання. Можливість масштабування.

Додаткові рекомендації при виборі VPS:

  • Тип диска: Завжди вибирайте VPS з NVMe SSD. Це критично важливо для продуктивності бази даних та швидкості завантаження сторінок. Різниця у швидкості порівняно зі звичайними SSD або HDD величезна.
  • Розташування сервера: Вибирайте дата-центр, який географічно ближче до більшості ваших користувачів. Це зменшить затримки (latency).
  • Пропускна здатність: Переконайтеся, що провайдер пропонує достатню пропускну здатність. Для більшості інсталяцій Wiki.js 1 Gbps канал буде більш ніж достатнім, але для дуже великих організацій з безліччю медіафайлів може знадобитися більше.
  • Моніторинг: Вибирайте провайдера, який надає зручні інструменти моніторингу використання ресурсів VPS.
  • Managed vs Self-managed: Якщо у вас немає досвіду адміністрування серверів, розгляньте опцію Managed VPS, де провайдер бере на себе частину завдань з обслуговування ОС. Однак це буде дорожче. Детальніше про це можна прочитати в статті Self-managed vs Managed VPS у 2026: що брати.

Пам'ятайте, що завжди краще почати з конфігурації, яка трохи перевищує ваші поточні мінімальні потреби, щоб мати запас для зростання. Більшість VPS-провайдерів дозволяють легко масштабувати ресурси (CPU, RAM, диск) у міру необхідності, тому ви завжди зможете оновити свій план, якщо ваша Wiki.js почне відчувати нестачу ресурсів.

Висновки

Розгортання Wiki.js на VPS з використанням Docker Compose є ефективним та надійним рішенням для створення потужної self-hosted бази знань. Дотримуючись цього посібника, ви зможете виконати повноцінне встановлення Wiki.js, налаштувати безпечний доступ через зворотний проксі з HTTPS та забезпечити довгострокове обслуговування системи, включаючи резервні копії та оновлення. Для більшості команд оптимальним вибором буде VPS з 2-4 vCPU, 4-8 GB RAM та 80-160 GB 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.