Простой пример деплоя Node.js в Amvera.
Это тестовое приложение показывает работу HTTP API без фреймворка, статических файлов и персистентное сохранение JSON в постоянное хранилище Amvera.
КАК СОХРАНЯТЬ ФАЙЛЫ | СТАТИЧЕСКИЕ ФАЙЛЫ | ПОРТ И АДРЕС | BULLMQ | КАК ЗАПУСТИТЬ НА AMVERA
Приложение имеет веб-интерфейс, на котором вы сразу можете выполнить доступные тестовые запросы.
GET /api/healthGET /api/itemsPOST /api/itemsDELETE /api/items/{id}
Все запросы можно выполнить на главной странице.
Любые изменяемые файлы необходимо сохранять в постоянное хранилище 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;
- Создать обычное приложение в любом регионе;
- Загрузить в него код репозитория;
- Во вкладке "Конфигурация" нажать кнопку "Собрать".
Когда приложение будет готово к работе и статус сменится на "Запущено", во вкладке "Домены" можно будет создать бесплатное доменное имя от Амвера.
Отдельная инструкция по фоновой обработке задач находится в BULLMQ.md.