Как установить Wiki.js на удаленном сервере за 10 минут

Wiki.js - это современная, мощная система для создания и управления базами знаний или корпоративными вики-сайтами с открытым исходным кодом. Она написана на JavaScript и работает на платформе Node.js. Основное её предназначение - хранение, структурирование и удобное совместное редактирование документации.
Wiki.js распространяется бесплатно по лицензии AGPLv3 и является отличным выбором для замены таких классических систем, как Confluence или MediaWiki. Обычно она разворачивается на виртуальном сервере или в Docker-контейнере.

Способы установки Wiki JS на хостинге

Как я упомянул ранее, Wiki.js можно установить на виртуальный сервер или Docker-контейнер. Здесь мы рассмотрим способ установки через Dockerfile, в облаке Amvera Cloud. В Amvera уже есть поддержка Docker (и других окружений) и не требуется настраивать и администрировать виртуальные машины - сервис сам все установит, настроит бесплатный домен с ssl и позаботится о бэкапах.
Перед деплоем убедитесь что у вас есть аккаунт на хостинге. Если его нет, то можете зарегистрировать, после регистрации вы получите 111 рублей на баланс для теста.
Рассмотрим 2 конфигурации для установки Wiki.js:
- C базой данных SQLite
- C базой данных PostgreSQL

Используем SQLite, как базу данных для нашего Wiki.js

Заходим на сайт и переходим в раздел "Приложения". Нажимаем на кнопку "Создать приложение". Вводим название проекта и выбираем тариф, для Wiki.js вполне подойдет тариф "Начальный плюс".

Вводим название и выбираем тариф
Вводим название и выбираем тариф

Далее нам нужно загрузить файл конфигурации. Вы можете создать его на следующем шаге или создать на своем ПК файл `amvera.yml` со следующим содержимым:

meta: environment: docker toolchain: name: docker version: latest build: dockerfile: Dockerfile skip: true run: persistenceMount: /data image: ghcr.io/requarks/wiki:2 command: null args: null containerPort: 3000 servicePort: 80

Далее, нам понадобится добавить переменные.

Добавляем переменные
Добавляем переменные

Нажимаем "Добавить переменные и секреты" и далее вводим как на скриншоте:

Все переменные должны быть доступны на этапе запуск
Все переменные должны быть доступны на этапе запуск

Что делает каждая переменная:
- `DB_TYPE` - отвечает за тип используемой базы данных, в нашем случае это `sqlite`
- `DB_FILEPATH` - указывает путь к файлу базы данных, в нашем случае это `/data/wiki.sqlite`
- `SSL_ACTIVE` - отвечает за выпуск SSL сертификата, так как у нас будет бесплатный домен от Amvera, мы указываем `0`
Нажимаем "Применить" и "Далее".
Если вы загрузили файл `amvera.yml` то, окно конфигурационного файла будет выглядеть вот так:

Задание конфигурации в интерфейсе
Задание конфигурации в интерфейсе

Если же нет, то просто впишите данные как на скриншоте.
Убедитесь что у вас стоит галочка в параметре `skip` иначе ничего работать не будет!
Под конец нажимаем кнопку "Завершить". После завершения наше приложение появится в списке:

Отображение проекта
Отображение проекта

И моментально пройдя процесс сборки, начнет запускаться. Пока запускается наше приложение, мы можем добавить ему домен, чтобы получить доступ к Wiki.js.
Для этого в разделе приложения, переходим в раздел "Домены" и нажимаем кнопку "Создать доменное имя". Тип подключения выбираем "HTTPS", а тип домена "Бесплатный домен Amvera".
Созданный домен появится в списке доменов:

Создание бесплатного домена для Wiki.JS
Создание бесплатного домена для Wiki.JS

И если ваше приложение получило статус запущенного, то при переходе по ссылке у вас появится вот такое окно настройки:

Инициализация Wiki.js
Инициализация Wiki.js

Поздравляю, вы установили Wiki.js используя базу данных SQLite!

Установка WIki JS на базе PostgreSQL

Перед тем как установить Wiki.js используя PostgreSQL, нам нужно развернуть ее, разворачивать будем на том же хостинге Amvera Cloud.
Заходим на сайт и переходим в раздел "PostgreSQL". Нажимаем на кнопку "Создать базу данных". Вводим название проекта нашей базы, выбираем тариф, для Wiki.js вполне подойдет тариф "Начальный" и выбираем тариф диска, для Wiki.js вполне подойдет "High Performance SSD" на 5 гигабайт.
Нажимаем "Далее" и на следующем этапе вводим "Имя создаваемой БД", "Имя пользователя" и "Пароль пользователя" (обязательно запоминаем их). По желанию можно снять галочку с "Активировать Superuser Access", так как права суперпользователя нам не понадобятся. Поле "Postgres version" не трогаем. Нажимаем "Завершить".
База данных отобразится в списке баз, как в списке проектов и получит статус запуска.
Теперь создаем проект с Wiki.js, точно так же как и создавали для SQLite, однако делаем остановку на добавлении переменных окружения. Нажимаем "Добавить переменные и секреты" и далее вводим как на скриншоте:

Для PostgreSQL потребуются другие переменные
Для PostgreSQL потребуются другие переменные

В переменные `DB_NAME`, `DB_PASS` и `DB_USER` укажите данные которые указывали при создании PostgreSQL. В переменную `DB_HOST` укажите домен, который есть на странице проекта базы данных в разделе "Инфо":

Host для PostgreSQL
Host для PostgreSQL

Ну а дальше продолжаем так же как и в гайде про SQLite.

Настройка и подключение Wiki JS

Продолжим настройку нашего Wiki.js. Отройте домен в браузере. Вы увидите вот такое окно:

Начало работы с Wiki.js
Начало работы с Wiki.js

Указываем нашу почту, задаем пароль, а в поле "Site URL" вписываем нашу ссылку. По желанию можно переключить ползунок "Allow Telemetry". Нажимаем кнопку "Install". После установки нас перекинет на страницу для входа, прописываем наши данные и авторизуемся.
После авторизации нас встретит вот такое окно:

Wiki.js готов к работе
Wiki.js готов к работе

На данном этапе вы можете приступить к администрированию или начать с создания домашней страницы.

Резюмируем

Как видите, развернуть Wiki.js можно буквально за 10 минут, и для этого не требуется глубоких знаний Docker или администрирования серверов. Если для установки использовать такие PaaS сервисы как Amvera, достаточно заполнить несколько полей и переменных окружения.

Вариант с SQLite отлично подходит для личных заметок, небольших команд или тестового запуска: он проще в настройке и не требует отдельной базы данных. Если же вы планируете использовать Wiki.js как полноценную корпоративную базу знаний с большим количеством пользователей и контента, лучше сразу выбрать связку с PostgreSQL - она надежнее справляется с нагрузкой и упрощает дальнейшее масштабирование и резервное копирование.

3