Skip to content

Latest commit

 

History

History
127 lines (91 loc) · 8.54 KB

File metadata and controls

127 lines (91 loc) · 8.54 KB

Руководство: Запуск WiseJSON DB с помощью Docker

Использование Docker — это рекомендуемый способ запуска серверного компонента WiseJSON, который предоставляет веб-интерфейс Data Explorer и API для синхронизации ваших клиентских баз данных.

Это руководство покрывает все, от быстрого старта до продвинутой конфигурации.

Предварительные требования

  • Установленный Docker на вашей системе.
  • Установленный Docker Compose (обычно поставляется вместе с Docker Desktop).

1. Самый быстрый старт (Используя официальный образ)

Этот метод идеален, чтобы быстро опробовать Data Explorer или настроить сервер синхронизации, не клонируя репозиторий.

Шаг 1: Запустите контейнер

Выполните следующую команду в вашем терминале:

docker run -d -p 3000:3000 \
  -v wisejson_data:/data \
  -e WISEJSON_EXPLORER_ALLOW_WRITE=true \
  --name wisejson-server \
  ваш_логин_dockerhub/wisejson-server:latest

(Замените ваш_логин_dockerhub на реальное имя репозитория на Docker Hub)

Разберем эту команду:

  • -d: Запускает контейнер в фоновом режиме (detached).
  • -p 3000:3000: Пробрасывает порт 3000 с вашей локальной машины на порт 3000 внутри контейнера.
  • -v wisejson_data:/data: (Ключевой момент для сохранения данных) Монтирует именованный Docker-том wisejson_data в директорию /data внутри контейнера. Именно здесь будут храниться файлы вашей БД, что гарантирует их сохранность даже после удаления контейнера.
  • -e WISEJSON_EXPLORER_ALLOW_WRITE=true: Пример установки переменной окружения для включения операций записи в Data Explorer.
  • --name wisejson-server: Дает вашему контейнеру запоминающееся имя.
  • ваш_логин_dockerhub/wisejson-server:latest: Имя официального образа на Docker Hub.

Ваш сервер запущен! Откройте Data Explorer по адресу http://localhost:3000.

Шаг 2: Управление контейнером

  • Посмотреть логи: docker logs wisejson-server
  • Остановить контейнер: docker stop wisejson-server
  • Запустить контейнер снова: docker start wisejson-server
  • Удалить контейнер: docker rm wisejson-server (ваши данные в томе wisejson_data останутся в безопасности).

2. Локальная разработка с docker-compose

Использование docker-compose идеально для локальной разработки и для интеграции сервера WiseJSON в ваше собственное приложение с несколькими контейнерами. Файл docker-compose.yml уже включен в этот репозиторий.

Шаг 1: Запустите сервер

Из корневой директории репозитория WiseJSON DB выполните:

docker-compose up -d

Эта команда прочитает файл docker-compose.yml, соберет образ (если его еще нет локально, или скачает, если указано image:) и запустит контейнер со всей преднастроенной конфигурацией.

Шаг 2: Остановите сервер

docker-compose down

Эта команда остановит и удалит контейнер и его сеть. Чтобы удалить и том с данными, используйте docker-compose down -v.


3. Как работает сохранение данных

WiseJSON DB хранит свои данные в файловой системе. При запуске в Docker критически важно не хранить эти данные в эфемерной файловой системе контейнера. Для этого мы используем Docker Volumes (тома).

Том — это управляемая Docker'ом область хранения на вашем хост-компьютере, которая монтируется в контейнер.

  • Показать список ваших томов: docker volume ls
  • Изучить том (и узнать, где он хранится на диске): docker volume inspect wisejson_data

Используя том, вы можете свободно останавливать, удалять и обновлять контейнер wisejson-server, не опасаясь потерять данные вашей базы.


4. Конфигурация через переменные окружения

Вы можете настроить серверный контейнер, передавая переменные окружения с помощью флага -e в команде docker run или через секцию environment в docker-compose.yml.

Переменная Описание По умолчанию
PORT Порт, который будет слушать сервер внутри контейнера. 3000
WISE_JSON_PATH Путь для хранения БД внутри контейнера. Должен совпадать с точкой монтирования тома. /data
LOG_LEVEL Уровень логирования (error, warn, info, debug или none). info
WISEJSON_EXPLORER_ALLOW_WRITE Установите в true, чтобы разрешить операции записи в Data Explorer. false
WISEJSON_AUTH_USER Имя пользователя для базовой аутентификации для защиты Data Explorer. (не задано)
WISEJSON_AUTH_PASS Пароль для базовой аутентификации. (не задано)

Пример с аутентификацией:

docker run -d -p 3000:3000 \
  -v wisejson_data:/data \
  --name wisejson-server \
  -e WISEJSON_AUTH_USER=admin \
  -e WISEJSON_AUTH_PASS=мой_секретный_пароль \
  ваш_логин_dockerhub/wisejson-server:latest

5. Сборка собственного образа (Продвинутый уровень)

Если вам нужно кастомизировать сервер, вы можете собрать свой собственный Docker-образ из Dockerfile, предоставленного в репозитории. Это полезно, если вы хотите изменить код сервера или использовать другую версию Node.js.

1. Склонируйте репозиторий:

git clone https://github.com/Xzdes/WiseJSON.git
cd WiseJSON

2. Соберите образ:

docker build -t my-custom-wisejson-server .```

**3. Запустите ваш кастомный образ:**
Теперь вы можете запускать ваш образ так же, как и официальный:
```bash
docker run -d -p 3000:3000 \
  -v wisejson_data:/data \
  --name my-wisejson-server \
  my-custom-wisejson-server