Skip to content

Развёртывание с Docker

Рекомендуемый способ развёртывания pipel8ne — Docker Compose. Это поднимает полный стек (MongoDB + бэкенд + фронтенд) одной командой.

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

  • Docker Engine 24+ и Docker Compose v2
  • Сервер или VM с минимум 512 МБ ОЗУ и 1 ядром CPU

Установка

1. Клонировать репозиторий

bash
git clone https://github.com/ogb4n/pipel8ne.git
cd pipel8ne

2. Создать файл окружения

bash
cp .env.example .env

Откройте .env и задайте обязательные значения:

env
JWT_SECRET=<сгенерировать: node -e "console.log(require('crypto').randomBytes(64).toString('hex'))">
SECRETS_ENCRYPTION_KEY=<сгенерировать: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))">

Полный список смотрите в Переменные окружения.

3. Собрать фронтенд (только при первом развёртывании)

Фронтенд должен быть скомпилирован до запуска стека:

bash
cd webapp
npm install
npm run build
cd ..

Скомпилированный вывод попадает в webapp/dist/. Бэкенд раздаёт его как статические файлы.

4. Запустить стек

bash
docker compose up -d

Проверьте, что все сервисы работают:

bash
docker compose ps

Ожидаемый вывод:

NAME                  STATUS
pipel8ne-backend      running
pipel8ne-mongo        running

Приложение доступно по адресу http://localhost:3000.

5. Создать первый аккаунт администратора

Откройте браузер и зарегистрируйтесь. Первый аккаунт автоматически получает права администратора.

Затем перейдите в Настройки → Администрирование и отключите публичную регистрацию.


Обновление

bash
git pull
cd webapp && npm install && npm run build && cd ..
docker compose pull
docker compose up -d

Сохранение данных

По умолчанию данные MongoDB хранятся в именованном Docker-томе (pipel8ne_mongo_data). Том сохраняется при перезапусках через docker compose down.

Проверить тома:

bash
docker volume ls | grep pipel8ne

Создать резервную копию:

bash
docker exec pipel8ne-mongo mongodump \
  --uri "mongodb://pipel8ne:<пароль>@localhost:27017/pipel8ne?authSource=admin" \
  --out /tmp/backup

docker cp pipel8ne-mongo:/tmp/backup ./backup-$(date +%Y%m%d)

Открытие для интернета

По умолчанию приложение слушает на 0.0.0.0:3000. Для безопасного доступа через HTTPS разместите его за обратным прокси (Nginx, Caddy, Traefik). Смотрите Чеклист для продакшена.


Остановка стека

bash
docker compose down          # сохранить данные
docker compose down -v       # также удалить тома (⚠ уничтожает все данные)

Released under the MIT License.