Скрипт для развертывания Wiki.
Репозиторий в gitlab
Механизм работы следующий:
- У пользователя спрашивается какой образ вики использовать, кастомную или ванильную.
- При использовании кастомной вики будут запрошены имя пользователя и пароль для входа в реджистри, если ранее этого уже не было сделано.
- Происходит создание контейнеров, хранилищ, сети без запуска самих контейнеров.
- Выполняется запуск контейнера БД.
- Спрашивается будет ли использоваться дамп БД.
- При использовании дампа БД будут запрошены имя пользователя, имя БД и полное название файла дампа.
- Выполняется проверка существования файла, если файл не найден, скрипт завершает работу.
- Затем внутри контейнера удаляется существующая БД, создаётся новая, после чего в новую БД загружаются данные из дампа.
- Выполняется запуск контейнера вики.
Механизм работы следующий:
- Спрашивается имя пользователя, и название БД, а также название файла для дампа.
- Выполняется дамп БД в указанный файл в формате
plain
.
Механизм работы следующий:
- Проверяется наличие compose файла, если файл не обнаружен скрипт завершает работу.
- Удаляются контейнеры, их хранилища и сеть.
Сборка не требуется, так как скрипт выполняется в командной оболочке Unix.
- Файл
.env.sample
, необходимо переименовать в .env
, изменив значения при необходимости. В данном файле содержаться общие переменные окружения.
Содержание .env.sample
:WIKI_PORT=8000 # Порт вики для входа на сайт
POSTGRES_TAG=13 # Версия Postgres
WIKI_IMAGE=requarks/wiki:2 # Образ вики
- По умолчанию используется файл
compose.yml
, помимо wiki будут запущены два микросервиса page-creator и webhook-server.
- Если предполагается использование другого compose файла, то нужно отредактировать это внутри скриптов
initial-deploy.sh
, backup-db.sh
cleanup.sh
, изменив переменную COMPOSE_FILE
- Файл
page-creator.env.sample
, необходимо переименовать в page-creator.env
, изменив значения переменных как указано в документации page-creator. Эти переменные будут доступны контейнеру микросервиса.
- Файл
page-creator-webhook.env.sample
, необходимо переименовать в page-creator-webhook.env
, изменив значения переменных как указано в документации webhook-server. Эти переменные будут доступны контейнеру микросервиса.
- Запустить
initial-deploy.sh
.
- Указать кастомную или ванильную версию вики, в данном случае ванильной считается wikijs:2 из докерхаба requarks.
- Если запуск происходит с восстановлением из бэкапа, то необходимо указать полное имя файла дампа, имя пользователя и имя БД, при этом формат файла должен быть
plain
, его получение можно посмотреть в backup-db.sh
.
- Запустить скрипт
backup-db.sh
- Ввести имя пользователя и имя БД, указать название файла дампа
- Запустить скрипт
cleanup.sh
. Запуск скрипта приведёт к полному удалению вики и всех данных.