Установка 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.
- Обратный прокси (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 приложения.
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.
Пошаговая установка 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.
- Выбор базы данных: На первом шаге убедитесь, что выбрана "PostgreSQL".
- Данные подключения к БД: Введите те же данные, что вы указали в
docker-compose.yml:- Host:
db(имя сервиса базы данных в Docker Compose) - Port:
5432 - Database:
wiki - User:
wiki - Password:
your_wiki_db_password
- Host:
- Настройка администратора: После успешного подключения к БД вам будет предложено создать учетную запись администратора. Введите имя пользователя, адрес электронной почты и надежный пароль. Запомните эти данные!
- Завершение установки: После создания администратора 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, вам нужно бэкапить два основных компонента:
- База данных PostgreSQL: Содержит все текстовые данные статей, метаданные, пользователей и настройки.
- Директория с файлами 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 wikidocker compose logs -f db
- Проверяйте логи контейнеров Wiki.js и PostgreSQL на предмет ошибок:
- Мониторинг доступности:
- Используйте внешние сервисы мониторинга (например, UptimeRobot, Healthchecks.io), которые будут проверять доступность вашего домена и оповещать вас в случае сбоев.
- Безопасность:
- Регулярно обновляйте операционную систему, Docker и сами Docker-образы.
- Используйте сложные, уникальные пароли для всех учетных записей, особенно для администратора Wiki.js и базы данных.
- Настройте файрвол (UFW) для ограничения доступа к портам.
- Рассмотрите использование Fail2Ban для защиты от атак перебора паролей на SSH и Nginx/Caddy.
- Если ваша Wiki.js содержит конфиденциальную информацию, рассмотрите возможность использования 2FA для административных учетных записей, если это поддерживается Wiki.js или вашей системой аутентификации.
Внимательное отношение к обслуживанию гарантирует, что ваша Wiki.js self-hosted будет надежной и безопасной платформой для управления знаниями на долгие годы.
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.
Какой VPS выбрать для Wiki.js: рекомендации по конфигурации под реальную нагрузку
Выбор подходящего VPS для Wiki.js является ключевым фактором для обеспечения производительности, стабильности и масштабируемости вашей базы знаний. Неправильно подобранная конфигурация может привести к медленной работе, частым сбоям и общему разочарованию пользователей. Мы рассмотрим, как оценить потребности и предложим конкретные конфигурации.
Оценка потребностей: от небольшой команды до корпоративного портала
Чтобы выбрать оптимальный VPS, необходимо четко понимать, кто и как будет использовать Wiki.js:
- Количество пользователей:
- Небольшая команда (до 10 человек): Основное использование — просмотр контента, редкое редактирование.
- Средняя команда (10-50 человек): Активное использование, частые просмотры, регулярное редактирование несколькими пользователями одновременно.
- Крупная организация (50+ человек): Высокая нагрузка, множество одновременных пользователей, интенсивные операции чтения/записи, возможно, интеграции с другими системами.
- Объем контента:
- Несколько десятков статей, без большого количества изображений — минимальные требования.
- Сотни статей, много изображений, прикрепленных файлов — требуется больше дискового пространства и RAM для кэширования.
- Тысячи статей, обширная медиатека — потребует значительных ресурсов, особенно для базы данных и файлового хранилища.
- Частота использования:
- Используется несколько раз в день — можно обойтись минимальными ресурсами.
- Используется постоянно в течение рабочего дня — требует стабильной производительности.
- Пиковые нагрузки (например, после рассылки объявления) — важен запас по CPU и RAM.
- Дополнительные сервисы на 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-доступом.
Начать сейчас →