Использование Docker — это рекомендуемый способ запуска серверного компонента WiseJSON, который предоставляет веб-интерфейс Data Explorer и API для синхронизации ваших клиентских баз данных.
Это руководство покрывает все, от быстрого старта до продвинутой конфигурации.
- Установленный Docker на вашей системе.
- Установленный Docker Compose (обычно поставляется вместе с Docker Desktop).
Этот метод идеален, чтобы быстро опробовать Data Explorer или настроить сервер синхронизации, не клонируя репозиторий.
Выполните следующую команду в вашем терминале:
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.
- Посмотреть логи:
docker logs wisejson-server - Остановить контейнер:
docker stop wisejson-server - Запустить контейнер снова:
docker start wisejson-server - Удалить контейнер:
docker rm wisejson-server(ваши данные в томеwisejson_dataостанутся в безопасности).
Использование docker-compose идеально для локальной разработки и для интеграции сервера WiseJSON в ваше собственное приложение с несколькими контейнерами. Файл docker-compose.yml уже включен в этот репозиторий.
Из корневой директории репозитория WiseJSON DB выполните:
docker-compose up -dЭта команда прочитает файл docker-compose.yml, соберет образ (если его еще нет локально, или скачает, если указано image:) и запустит контейнер со всей преднастроенной конфигурацией.
docker-compose downЭта команда остановит и удалит контейнер и его сеть. Чтобы удалить и том с данными, используйте docker-compose down -v.
WiseJSON DB хранит свои данные в файловой системе. При запуске в Docker критически важно не хранить эти данные в эфемерной файловой системе контейнера. Для этого мы используем Docker Volumes (тома).
Том — это управляемая Docker'ом область хранения на вашем хост-компьютере, которая монтируется в контейнер.
- Показать список ваших томов:
docker volume ls - Изучить том (и узнать, где он хранится на диске):
docker volume inspect wisejson_data
Используя том, вы можете свободно останавливать, удалять и обновлять контейнер wisejson-server, не опасаясь потерять данные вашей базы.
Вы можете настроить серверный контейнер, передавая переменные окружения с помощью флага -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Если вам нужно кастомизировать сервер, вы можете собрать свой собственный Docker-образ из Dockerfile, предоставленного в репозитории. Это полезно, если вы хотите изменить код сервера или использовать другую версию Node.js.
1. Склонируйте репозиторий:
git clone https://github.com/Xzdes/WiseJSON.git
cd WiseJSON2. Соберите образ:
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