Публикация

Amvera: деплой приложения для новичка — пошаговая инструкция

28 минАктуально на 29 июля 2026

Amvera: деплой приложения для новичка

Ты собрал первое приложение и хочешь, чтобы оно открывалось по ссылке из любого браузера. Зарубежные хостинги требуют иностранную карту, VPN и терпения к англоязычным интерфейсам. Amvera решает эту задачу: российский облачный хостинг, оплата рублями, деплой одной командой git push. Ниже разберём, как задеплоить сайт на Amvera с нуля, настроить домен, переменные окружения и не словить типичные ошибки новичков.

Содержание
  1. Что такое Amvera и почему она подходит новичку из РФ
  2. Регистрация и первый проект пошагово
  3. Деплой через git push: пошаговый пример
  4. Переменные окружения и секреты
  5. Привязка своего домена с HTTPS
  6. Тарифы и сколько стоит
  7. Частые ошибки деплоя
  8. Частые вопросы
  9. Заключение + чек-лист
  10. Источники

Что такое Amvera и почему она подходит новичку из РФ

Amvera — это российская облачная платформа (PaaS), которая позволяет размещать веб-приложения, бэкенды, ботов и статические сайты. Amvera cloud даёт серверное пространство, куда можно отправить код, и платформа сама соберёт, запустит и поддержит его. Тебе не нужно арендовать виртуальный сервер, настраивать Linux и устанавливать nginx — Amvera hosting берёт инфраструктуру на себя.

Для новичка из России у Amvera несколько важных преимуществ.

Оплата рублями. Не нужна зарубежная карта, PayPal или Stripe. Это снимает сразу несколько барьеров, с которыми сталкиваются начинающие разработчики.

Русскоязычный интерфейс и поддержка. Документация, панель управления и поддержка ведутся на русском. Это экономит часы на переводе ошибок.

Деплой через git push. Вместо ручной заливки файлов через FTP или сложных CI/CD-конвейеров ты просто отправляешь код в репозиторий. Amvera автоматически подхватывает изменения, собирает проект и обновляет сайт. Это называется git-push deploy — один из самых простых способов вывести приложение в продакшен.

Широкая поддержка технологий. На Amvera можно развернуть приложения на Node.js, Python, Go, Java, PHP, Ruby, а также использовать Docker. Навыки из курса подойдут и для реальных проектов.

Дешёвый старт. Бесплатного тарифа у Amvera нет, но тарификация поминутная, а самый младший тариф «Пробный» стоит 0,24 ₽ в час — примерно 170 ₽ за 30 дней непрерывной работы. Для учебного приложения этого хватает, а выключенный проект денег не тратит.

💡

Главная мысль: Amvera — это российский облачный хостинг, который делает деплой доступным новичку. Оплата рублями, русский интерфейс и git-push deploy снимают основные барьеры.

Регистрация и первый проект пошагово

Шаг 1. Регистрация аккаунта

Зайди на официальный сайт Amvera — amvera.ru — и зарегистрируйся. Обычно потребуется email, пароль и подтверждение почты. Используй надёжный пароль и включи двухфакторную аутентификацию, если она доступна.

Шаг 2. Создание первого приложения

После входа в панель управления создай новое приложение. Имя проекта лучше делать латиницей и понятным, например snake-game. Из него собирается бесплатный домен вида https://snake-game.username.amvera.io, где username — твой логин в Amvera. Домен нужно включить самому: раздел «Настройки» приложения, пункт «Бесплатный домен Амвера».

Шаг 3. Выбор технологии

Amvera предложит выбрать язык или шаблон. Для фронтенда на HTML/CSS/JS подойдёт статический сайт или Node.js. Для бэкенда — Python или Node.js. Если сомневаешься, ориентируйся на package.json для Node.js или requirements.txt для Python.

Шаг 4. Подключение репозитория

Основной путь на Amvera — её собственный git-репозиторий вида https://git.amvera.ru/<твой-ник>/<имя-проекта>: код ты пушишь прямо туда, логин и пароль — от аккаунта Amvera. Если код уже живёт на GitHub, репозиторий Amvera добавляется вторым remote, а автоматическую синхронизацию с GitHub, GitLab или Bitbucket настраивают отдельно через вебхуки. Если раньше не работал с GitHub, сначала прочитай статью про GitHub и токены.

После подключения панель покажет адрес приложения на техническом домене. Сохрани эту ссылку для проверки деплоя.

Шаг 5. Базовые настройки перед запуском

Перед отправкой кода проверь:

  • в корне проекта есть стартовый файл или команда start в package.json;
  • в корне лежит amvera.yml (можно amvera.yaml) — файл, где описаны сборка и запуск: для Node.js это обязательный scriptName и, если нужно, containerPort. Без конфига Amvera будет искать Dockerfile;
  • приложение слушает порт из переменной окружения PORT, а не жёстко 3000;
  • для статического сайта в корне есть index.html;
  • пароли и токены не хранятся в коде — их добавим позже через переменные окружения.
⚠️

Важно: не храни секреты в коде. Они попадут в Git-историю и станут видны всем, у кого есть доступ к репозиторию.

Деплой через git push: пошаговый пример

Весь процесс деплоя сводится к отправке кода в Git-репозиторий Amvera. После каждого git push платформа автоматически собирает новую версию и заменяет старую.

Подготовка проекта

Представим, что у тебя простой проект на Node.js — та же «Змейка» с сервером, отдающим статические файлы:

my-snake-game/
├── package.json
├── server.js
├── index.html
├── style.css
└── game.js

package.json:

{
  "name": "my-snake-game",
  "version": "1.0.0",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.18.0"
  }
}

server.js:

const express = require('express');
const path = require('path');

const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname)));

app.listen(PORT, () => {
  console.log(`Сервер запущен на порту ${PORT}`);
});

Строка const PORT = process.env.PORT || 3000; критически важна. В контейнере Amvera переменная PORT по умолчанию равна 80 — приложение поднимется на нём и будет доступно снаружи. Если ты хочешь оставить свой порт (скажем, 3000), объяви его в amvera.yml параметром containerPort в секции run, иначе в браузере получишь «Service Unavailable 503».

Инициализация Git и первый коммит

Если в проекте ещё нет Git:

git init
git add .
git commit -m "Первый коммит для деплоя на Amvera"

Если проект уже на GitHub, этот шаг пропускаем.

Добавление remote Amvera

В панели Amvera для приложения указан адрес репозитория, например:

https://git.amvera.ru/username/my-snake-game

Добавь его как remote:

git remote add amvera https://git.amvera.ru/username/my-snake-game

Теперь origin — это GitHub, amvera — облачный хостинг.

Отправка кода

Amvera собирает только ветку master. Если локальная ветка тоже master:

git push amvera master

Если локальная ветка называется main, пушить надо с переименованием на лету, иначе сборка просто не запустится:

git push amvera main:master

После push в терминале появятся логи сборки: установка зависимостей, запуск скриптов, старт приложения. Когда процесс завершится, открой ссылку в браузере.

Примерный вывод:

remote: -----> Building on the ref master
remote: -----> Installing dependencies
remote:        npm install
remote:        added 57 packages in 2s
remote: -----> Launching...
remote:        Done
remote: -----> https://my-snake-game.username.amvera.io deployed

Что происходит после push

  1. Платформа получает новый код.
  2. Определяет стек по amvera.yml или файлам в корне.
  3. Устанавливает зависимости.
  4. Собирает проект, если требуется.
  5. Запускает приложение.
  6. Обновляет домен.

Если на каком-то этапе ошибка, сборка останавливается, а старая версия продолжает работать.

Обновление и откат

Любое изменение деплоится так:

git add .
git commit -m "Добавил новый уровень"
git push amvera main:master

Если новая версия сломалась, откатись через revert:

git log --oneline
git revert <хеш-коммита>
git push amvera main:master
💡

Практический совет: перед первым деплоем запусти проект локально командой npm start и убедись, что он открывается по http://localhost:3000. Если не работает локально, в облаке тоже не заработает.

Переменные окружения и секреты

Практически любое приложение использует секретные данные: токены API, ключи базы данных, пароли. Хранить их в коде опасно — репозиторий может быть публичным, а Git сохраняет историю навсегда.

Переменные окружения передают приложению настройки извне. В одном окружении — тестовые ключи, в другом — боевые.

Частые переменные

Для «Змейки» с таблицей рекордов через Supabase могут понадобиться:

  • SUPABASE_URL — адрес проекта Supabase.
  • SUPABASE_ANON_KEY — публичный ключ.
  • SUPABASE_SERVICE_KEY — сервисный ключ для серверных операций.
  • PORT — порт, на котором слушает сервер.
  • NODE_ENVdevelopment или production.

Добавление в панели Amvera

В панели приложения открой раздел «Переменные и секреты» и нажми «Добавить переменные или секрет». Заполни пары «название — значение»:

Ключ Значение
PORT 80
SUPABASE_URL https://abcdef.supabase.co
SUPABASE_ANON_KEY eyJhbGciOiJIUzI1NiIs...

Токены, пароли и сервисные ключи добавляй как «секрет» — они хранятся отдельно от обычных переменных. Чтобы новые значения применились, перезапусти контейнер: на этапе сборки переменные окружения ещё недоступны, они появляются только у запущенного приложения. В коде переменные читаются через process.env в Node.js или os.environ в Python.

Пример в Node.js:

const supabaseUrl = process.env.SUPABASE_URL;
const supabaseKey = process.env.SUPABASE_ANON_KEY;

if (!supabaseUrl || !supabaseKey) {
  console.error('Не заданы переменные окружения Supabase');
  process.exit(1);
}

Тот же пример на Python:

import os
from supabase import create_client

supabase_url = os.environ.get('SUPABASE_URL')
supabase_key = os.environ.get('SUPABASE_ANON_KEY')

if not supabase_url or not supabase_key:
    raise ValueError('Не заданы переменные окружения Supabase')

supabase = create_client(supabase_url, supabase_key)

Файл .env и .gitignore

Локально для разработки удобен файл .env, но его нельзя отправлять в Git. Добавь в .gitignore:

.env
node_modules/
.DS_Store

Пример для Supabase

const { createClient } = require('@supabase/supabase-js');

const supabase = createClient(
  process.env.SUPABASE_URL,
  process.env.SUPABASE_ANON_KEY
);

async function saveScore(name, score) {
  const { data, error } = await supabase
    .from('leaderboard')
    .insert([{ name, score }]);

  if (error) {
    console.error('Ошибка сохранения результата:', error);
  }

  return data;
}
⚠️

Важно: не выкладывай скриншоты панели с открытыми секретами. Даже удалённый пост может остаться в кэше поисковиков.

Привязка своего домена с HTTPS

Технический домен my-snake-game.username.amvera.io хорош для тестов, но для продукта хочется свой адрес. Amvera позволяет подключить собственный домен и автоматически выпустить SSL-сертификат для HTTPS.

Простыми словами

Домен — это человекочитаемый адрес. DNS — система, которая превращает его в IP-адрес сервера. Когда вводишь домен, браузер спрашивает DNS, получает IP Amvera и загружает страницу.

Шаг 1. Покупка домена

Купи домен у регистратора: REG.RU, Beget, Timeweb и других. Для учебного проекта подойдёт .ru или .рф, для серьёзного продукта — .com или .io, если доступны.

Шаг 2. Добавление домена в Amvera

В панели приложения найди раздел «Домены». Добавь купленный домен. Amvera покажет две записи, которые надо прописать у регистратора: A-запись с IP-адресом платформы и TXT-запись, подтверждающую, что домен твой.

Тип Имя Значение
A @ IP-адрес из настроек Amvera
TXT @ Проверочная строка из настроек Amvera

Шаг 3. Настройка DNS

В личном кабинете регистратора добавь записи, которые дала Amvera. DNS обновляется от нескольких минут до 24 часов, обычно 15–30 минут. Когда записи разошлись (проверить можно любым онлайн-чекером DNS или TXT lookup), вернись в панель и подтверди привязку домена — без этого шага сертификат не выпустится.

Шаг 4. HTTPS

После подтверждения домена Amvera настроит контроллер входящего трафика и автоматически выпустит SSL-сертификат через Let’s Encrypt. Сайт будет доступен по https://твой-домен.ru с зелёным замочком.

Если сертификат не появился, проверь DNS-записи через онлайн-сервис.

Редирект www

Чтобы сайт открывался только по одному адресу, настрой редирект с www на без www или наоборот. Это делается в панели Amvera или через DNS.

💡

Практический совет: если домен ещё не куплен, сначала протестируй приложение на техническом домене Amvera, а свой домен подключи позже, когда продукт готов к публичному запуску.

Тарифы и сколько стоит

Конкретные цены лучше смотреть на amvera.ru, потому что они меняются. Ниже — общий принцип и цифры на середину 2026 года.

Сколько стоит младший тариф

Бесплатного плана у Amvera нет — есть поминутная тарификация со списанием раз в час, поэтому платишь только за время работы контейнера. Младший тариф «Пробный» (0,1 ЦПУ, 100 Мб ОЗУ, 2 Гб SSD) обходится в 0,24 ₽ в час, то есть около 170 ₽ за 30 дней. Для «Змейки» с таблицей рекордов этого обычно хватает, а для учебных экспериментов сумма сопоставима с чашкой кофе.

Платные тарифы

Отличаются большими ресурсами, большим числом приложений, приоритетной поддержкой и лимитами трафика. Оплата в рублях — банковской картой российского банка, юрлица платят по счёту. Amvera работает по предоплате: закончился баланс — контейнер останавливается.

Тариф Ресурсы Цена за 30 дней
Пробный 0,1 ЦПУ, 100 Мб ОЗУ, 2 Гб SSD 170 ₽
Начальный 0,25 ЦПУ, 500 Мб ОЗУ, 5 Гб SSD 290 ₽
Начальный Плюс 0,5 ЦПУ, 1 Гб ОЗУ, 7 Гб SSD 490 ₽
Стандартный 1 ЦПУ, 2,5 Гб ОЗУ, 15 Гб SSD 1450 ₽
Ультра 2 ЦПУ, 6 Гб ОЗУ, 25 Гб SSD 4300 ₽

Каждый гигабайт диска сверх тарифа стоит 35 ₽ за 30 дней хранения.

Этап проекта Тариф Почему
Учебный проект Пробный Минимальные расходы, ресурсов достаточно
Прототип для знакомых Начальный Стабильнее, больше памяти
Публичный продукт Начальный Плюс или Стандартный Домен, трафик, запас по CPU
Растущий продукт Ультра и выше Масштабирование

Сравнение с зарубежными хостингами

Vercel, Railway, Render или Heroku удобны, но для пользователей из РФ есть нюансы: иностранная карта, ограничения доступа, английская поддержка. Amvera лишена этих проблем, поэтому для старта из России она зачастую проще.

⚠️

Важно: не покупай дорогой тариф «на вырост». Начни с самого дешёвого, а повышай план, только когда упираешься в лимиты.

Частые ошибки деплоя

1. Порт не совпадает с настройками

Если в коде app.listen(3000), а в amvera.yml не указан containerPort: 3000, приложение будет работать, но снаружи отдаст «Service Unavailable 503». Проще всего слушать PORT — в контейнере он равен 80:

const PORT = process.env.PORT || 3000;
app.listen(PORT);

2. Нет команды запуска

Для Node.js в package.json должна быть команда start, а в amvera.yml — точка входа scriptName:

"scripts": {
  "start": "node server.js"
}

3. Зависимости не в package.json

Если библиотека используется, но не прописана в dependencies, сборка упадёт. Проверь, что все пакеты указаны.

4. Опечатки в переменных окружения

Если приложение ждёт SUPABASE_URL, а в панели SUPABASE_ULR, подключение не сработает. Проверяй названия.

5. Папка node_modules в Git

Если в репозиторий попала node_modules, деплой может зависнуть или упасть. Добавь в .gitignore:

echo "node_modules/" >> .gitignore
git rm -r --cached node_modules
git commit -m "Удалена node_modules из репозитория"
git push amvera main:master

6. DNS ещё не обновился

После настройки домена нужно подождать. Проверь через онлайн-чекер DNS, что A-запись указывает на IP Amvera, а TXT-запись видна — только потом подтверждай домен в панели.

7. Использование абсолютных путей

Локально проект может работать с путями вроде C:/Users/.../index.html, но в облаке такого пути нет. Используй относительные пути:

const path = require('path');
app.use(express.static(path.join(__dirname, 'public')));

8. Большие файлы в репозитории

Видео, тяжёлые изображения и архивы не стоит хранить в Git. Они увеличивают размер репозитория, замедляют деплой и могут упираться в лимиты. Храни медиа во внешнем хранилище или CDN.

9. Игнорирование логов после деплоя

Логи в панели Amvera — главный инструмент диагностики. Если сайт не открывается, первым делом смотри туда. Там видно, упало ли приложение, не хватает ли переменной окружения или зависимости.

10. Push не в ту ветку

Сборка стартует только по ветке master. Пуш git push amvera main создаст в репозитории Amvera ветку main, и деплоя не будет — команда сработает, а сайт останется старым. Правильный вариант: git push amvera main:master.

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

Можно ли бесплатно разместить сайт на Amvera?

Бесплатного тарифа нет. Самый дешёвый — «Пробный», 0,24 ₽ в час (около 170 ₽ за 30 дней), тарификация поминутная, так что остановленный проект денег не тратит. Актуальные условия смотри на сайте Amvera.

Обязательно ли знать Git?

Да, базовый минимум: git add, git commit, git push. Подробнее про GitHub и токены — в статье «Что такое GitHub и token».

Подойдёт ли Amvera для лендинга?

Да, Amvera поддерживает статические сайты. Лендинг на Next.js или чистом HTML/CSS/JS деплоится так же, как серверное приложение. Про Next.js и Claude — в статье «Лендинг на Next.js с Claude».

Как быстро обновляется сайт после git push?

Обычно от нескольких секунд до пары минут. В панели можно следить за сборкой и увидеть ошибки.

Что делать, если приложение не запускается?

Открой логи в панели Amvera. Проверь порт и containerPort, команду запуска, зависимости и переменные окружения. Если локально работает, а в облаке нет — дело почти всегда в одном из этих пунктов.

Нужен ли VPN для работы с Amvera из России?

Нет, Amvera — российский сервис, доступ обычно работает без VPN.

Заключение + чек-лист

Amvera — рабочий способ вывести первое приложение в интернет без иностранных карт и VPN. Мы реально используем Amvera для своих проектов и знаем: от регистрации до рабочего сайта — считанные минуты, если проект подготовлен правильно.

Главное — попасть в нужный порт, пушить в ветку master, прописать зависимости и не хранить секреты в коде. После этого деплой превращается в рутину: написал код — запушил — получил сайт.

Чек-лист деплоя на Amvera

  • Создан аккаунт на Amvera и подтверждён email.
  • Пополнен баланс: бесплатного тарифа нет, списание идёт по минутам.
  • Создано первое приложение в панели.
  • Выбран правильный стек.
  • Репозиторий Amvera добавлен как remote (или связан GitHub).
  • В корне проекта есть файл запуска, команда start и amvera.yml.
  • Приложение использует переменную окружения PORT либо порт объявлен через containerPort.
  • Все зависимости прописаны.
  • node_modules и .env добавлены в .gitignore.
  • Секреты добавлены в разделе «Переменные и секреты» и контейнер перезапущен.
  • Приложение протестировано локально.
  • Выполнен git push amvera main:master и сайт открывается.
  • При необходимости подключён собственный домен: A-запись, TXT-запись, подтверждение в панели, HTTPS.
  • Проверены логи после деплоя.

Если хочешь пройти путь от первой строчки кода до опубликованного продукта — присоединяйся к Skillmake.

Источники

  1. Amvera — официальный сайт: amvera.ru
  2. Документация Amvera: docs.amvera.ru

Читай дальше

Все статьи

Не просто статьи — тебя доведут до результата

В практикуме за 1999 ₽ рядом живая команда практикующих разработчиков и маркетологов: ведём по шагам до твоего работающего приложения. Не «ролики и сам разбирайся» — помогаем на каждом затыке.

Перейти к практикуму
Все статьи Ещё: публикация и продвижение