---
title: 'Облачный сервер с Node.js'
sidebar_label: 'Node.js'
sidebar_position: 6
toc_max_heading_level: 3
description: 'Как создать облачный сервер с реестром контейнеров'
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import {CustomTable} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'
import CopyIcon from '@selectel/docux/icons/copy'
import CreateServer from '@site/docs/_partials/cloud-servers/applications/create-server-for-apps.mdx'

# Облачный сервер с Node.js

Node.js — это кроссплатформенная среда, которая позволяет создавать быстрые и масштабируемые сетевые приложения на JavaScript.

Вы можете [создать облачный сервер с Node.js](#create-cloud-server-with-node-js).
В России приложение работает на облачном сервере с настроенной операционной системой [SelectOS 1 64-bit](https://selectos.selectel.ru/news/mega/).
В других [странах](/infrastructure/locations.mdx#country) — Ubuntu 24.04.

Перед созданием облачного сервера с приложением ознакомьтесь с [лицензионными соглашениями программного обеспечения](https://423.selcdn.ru/kb/license-agreements-for-application-images-LANG.pdf), которое входит в образ.

## Минимальные требования к ресурсам \{#minimum-requirements}

<CustomTable>
  <table>
    <tbody>
      <tr>
        <th>Количество vCPU</th>
        <td>2</td>
      </tr>

      <tr>
        <th>RAM</th>
        <td>4 ГБ</td>
      </tr>

      <tr>
        <th>Загрузочный диск</th>
        <td>16 ГБ</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Создать облачный сервер с Node.js \{#create-cloud-server-with-node-js}

Для работы Monitoring Box облачный сервер должен быть доступен из интернета.
Для этого при создании сервера нужно создать приватную подсеть и подключить публичный плавающий IP-адрес.
Чтобы настроить Monitoring Box, при создании сервера необходимо указать user data — пользовательские параметры конфигурации операционной системы.

1. [Создайте публичный плавающий IP-адрес](#create-floating-ip).

2. [Создайте облачный сервер с Node.js](#create-node-js-server).

### 1. Создать публичный плавающий IP-адрес \{#create-floating-ip}

Создайте публичный плавающий IP-адрес, чтобы облачный сервер с Node.js был доступен из интернета.

Используйте подраздел [Создать публичный плавающий IP-адрес](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx#create-public-floating-ip) инструкции [Публичные плавающие IP-адреса](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx).

### 2. Создать сервер с Node.js \{#create-node-js-server}

<CreateServer AppNameInPanel="Cloud Nodejs" MinConfig="2 vCPU, RAM от 4 ГБ и размером загрузочного диска от 16 ГБ" OptionalVolumes="Опционально: добавьте дополнительный" VolumeSize="Укажите размер сетевого диска в ГБ или ТБ" />

<div style={{paddingLeft:'2em'}}>
  ```yaml
  #cloud-config

  write_files:
  - path: "/opt/gomplate/values/user-values.yaml"
    permissions: "0644"
    content: |
      AppName: <app_name>
      AppPort: <port_number>
      GitRepo: <git_repository_url>
      GitBranch: <branch_name>
      EnvVars: |
    NODE_ENV=production
    DB_HOST=localhost
    DB_PORT=5432
  ```

  Укажите:

  * `<app_name>` — название приложения, которое будет запускаться на облачном сервере;
  * `<port_number>` — порт, по которому можно будет подключиться к приложению;
  * `<git_repository_url>` — URL Git-репозитория с исходным кодом приложения;
  * `<branch_name>` — ветка Git-репозитория, которая будет склонирована на облачный сервер.
</div>

## Запустить пользовательское приложение \{#start-app-build}

При первом подключении к облачному серверу по SSH выберите версию Node.js.

При первой загрузке облачного сервера автоматически клонируется ветка Git-репозитория, которую вы указали в User data при [создании сервера на этапе 2](#create-node-js-server).

Затем устанавливаются зависимости Node.js и запускается сборка приложения. Для запуска сборки в файле `package.json` приложения должны быть указаны скрипты `start` и `build`.

Для хранения данных используйте отдельный сервер базы данных или облачную базу данных.

После сборки приложение запустится как systemd-сервис c именем `nodejs-<app_name>.service`, где `<app_name>` — название приложения, которое вы указали в User data при [создании сервера на этапе 2](#create-node-js-server).

Приложение будет доступно по адресу `http://<public_ip_address>:<port_number>`.

Здесь:

* `<public_ip_address>` — публичный плавающий IP-адрес, который вы указали при [создании сервера на этапе 2](#create-node-js-server);
* `<port_number>` — порт, который вы указали в User data при [создании сервера на этапе 2](#create-node-js-server).

<Formbricks />
