Skip to content

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node.js на Amvera

Простой пример деплоя Node.js в Amvera.

Это тестовое приложение показывает работу HTTP API без фреймворка, статических файлов и персистентное сохранение JSON в постоянное хранилище Amvera.

КАК СОХРАНЯТЬ ФАЙЛЫ | СТАТИЧЕСКИЕ ФАЙЛЫ | ПОРТ И АДРЕС | BULLMQ | КАК ЗАПУСТИТЬ НА AMVERA

Демо-приложение

Приложение имеет веб-интерфейс, на котором вы сразу можете выполнить доступные тестовые запросы.

  • GET /api/health
  • GET /api/items
  • POST /api/items
  • DELETE /api/items/{id}

Все запросы можно выполнить на главной странице.

chrome_O3GlTLDfZE

Как правильно сохранять файлы

Любые изменяемые файлы необходимо сохранять в постоянное хранилище Amvera (/data). Файлы внутри директории с кодом могут быть потеряны после пересборки приложения.

const dataDir = process.env.DATA_DIR || "/data";
const dataFile = path.join(dataDir, "items.json");
await fs.mkdir(dataDir, { recursive: true });

Статические файлы

Node.js без фреймворка не раздает статику автоматически. В примере файлы из public читаются через node:fs/promises.

Пути строятся через __dirname, поэтому не зависят от текущей рабочей директории процесса.

Порт и адрес

Приложение обязательно должно слушать 0.0.0.0, а не localhost, иначе появится ошибка 503. В примере используется порт из переменной окружения PORT с дефолтным значением 5000:

const port = Number(process.env.PORT || 5000);
server.listen(port, "0.0.0.0");

Локальный запуск

npm start

Откройте localhost:5000.

Деплой в Amvera

Для деплоя конкретно этого приложения вам понадобится:

  1. Создать аккаунт в Amvera;
  2. Создать обычное приложение в любом регионе;
  3. Загрузить в него код репозитория;
  4. Во вкладке "Конфигурация" нажать кнопку "Собрать".

Когда приложение будет готово к работе и статус сменится на "Запущено", во вкладке "Домены" можно будет создать бесплатное доменное имя от Амвера.

Отдельная инструкция по фоновой обработке задач находится в BULLMQ.md.

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages