ДокументацияНачалоСоздание сервисов

Создание сервисов

Сервис — это ваше приложение, база данных или сайт, работающие в облаке. Все сервисы создаются одним мастером и живут на вкладке «Сервисы» в панели.

Откройте console.muerte.cloud и перейдите в раздел Сервисы.

Какие бывают сервисы#

FieldDescription
Статический сайтHTML/CSS/JS, сборки React, Vue, Astro и других фронтенд-фреймворков
Веб-сервисПриложение или API, доступное из интернета по домену
Приватный сервисРаботает только внутри вашего окружения, наружу не публикуется
ВоркерФоновая обработка: очереди, рассылки, длительные задачи. Домена не имеет
Cron-сервисКонтейнер, который запускается по расписанию и завершается
PostgreSQL / Redis / MongoDBУправляемые базы данных с готовыми доступами

Пошагово#

  1. 1
    Откройте мастер создания
    Раздел СервисыСоздать сервис, затем выберите тип. Тип определяет, какие настройки вы увидите дальше: домен и порт спрашиваются только у веб-сервисов.
  2. 2
    Выберите источник кода

    Для приложений доступны три источника:

    • Каталог — готовые приложения в один клик (панели, CMS, игровые и медиасерверы). Ничего настраивать не нужно.
    • Репозиторий — подключите Git-аккаунт, выберите репозиторий и ветку. Каждый новый коммит может запускать пересборку.
    • Архив — загрузите .zip с проектом. Подходит, если кода нет в Git.

    Для баз данных шаг источника пропускается.

  3. 3
    Настройте сборку
    Тип сборки определяет, как код превращается в работающий сервис. Если не уверены — оставьте Railpack: он сам определит язык (Node.js, PHP, Python, Go, Java и другие) и подберёт команды.
  4. 4
    Ресурсы и тариф
    Выберите план и укажите CPU и RAM. Самая частая причина падения сборки — нехватка памяти. Панель показывает, сколько слотов и ресурсов уже занято по плану.
  5. 5
    Переменные окружения
    Задайте настройки, которые не должны лежать в коде: ключи API, строки подключения, режим работы. Формат — KEY=value, по одной паре в строке. Значения скрыты в интерфейсе и не попадают в логи сборки. После изменения переменных нужен передеплой.
  6. 6
    Порт и домен (для веб-сервисов)
    Укажите порт, который слушает приложение внутри контейнера: например 3000 для Node.js, 8000 для Python, 80 для nginx. Панель создаст технический домен и направит на этот порт весь трафик.
  7. 7
    Создание и первая сборка
    Нажмите Создать. Сервис появится со статусом сборки, а на вкладке Deployments пойдёт живой лог. После успешной сборки статус меняется на Работает, домен становится доступен.

Типы сборки

FieldDescription
RailpackУниверсальный автоопределяемый вариант, рекомендуется по умолчанию
NixpacksАльтернативный автосборщик, полезен для нестандартных стеков
Paketo BuildpacksКорпоративные сборки по стандарту Cloud Native Buildpacks
DockerfileВ репозитории есть свой Dockerfile и нужен полный контроль
StaticГотовые статические файлы, сервер не нужен
Неверный порт
Если порт указан неправильно, домен откроется с ошибкой шлюза. Измените порт на вкладке Settings и передеплойте сервис.

Что настроить сразу после создания#

Управление созданным сервисом#

FieldDescription
OverviewСтатус, ресурсы, быстрые действия: запуск, остановка, передеплой.
DeploymentsИстория сборок, логи и откаты.
LogsЖивые логи приложения.
MetricsПотребление CPU и памяти.
VariablesПеременные окружения.
SettingsПорт, домены, хранилища, удаление сервиса.

Частые вопросы#

Можно ли изменить тип сборки после создания?

Да, на вкладке Settings. После изменения запустите передеплой.

Что происходит при остановке сервиса?

Контейнер выключается, ресурсы освобождаются, данные в хранилищах и базах сохраняются. Запуск возвращает сервис в работу без пересборки.

Удаление сервиса обратимо?

Нет. Удаляются контейнер, домены и подключённые хранилища. Сохранятся только резервные копии, уже выгруженные в объектное хранилище.

Если сборка упала

Раскройте деплой в истории и прочитайте лог. Кнопка Скопировать рядом с логом пригодится, если понадобится отправить его в поддержку.

text
# типичный случай: не хватило памяти при установке зависимостей
Killed
error Command failed with exit code 137