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

Получить VPS arrow_forward

Wiki.js на VPS: установка, настройка и обслуживание

calendar_month 14 июня 2026 schedule 20 мин. чтения visibility 19 просмотров
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 support
        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 support
        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 (GB) 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.