Хостинг Go в России

Деплой Go-приложения из Git: сборка по go.mod, реплики, домен с SSL. Оплата в рублях.

Go — самый удобный гость на платформе: сборка даёт один бинарник, образ получается маленьким, а старт занимает доли секунды. Именно поэтому scale-to-zero для Go почти незаметен: приложение может спокойно гаснуть в простое, и первый запрос после паузы не заставит посетителя ждать.

Что Татнет делает с проектом на Go

Определяется по go.mod

Файл в корне репозитория — достаточный признак. Сборщик подберёт версию Go и соберёт бинарник без Dockerfile.

Быстрый холодный старт

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

Порт из окружения

Слушайте адрес :$PORT — платформа передаёт номер порта приложению и ждёт, пока сервер начнёт отвечать, прежде чем пускать трафик.

Ещё и serverless

Go — один из рантаймов serverless-функций Татнет. Если задача сводится к обработчику HTTP, функция обойдётся дешевле постоянного приложения.

Настройки сборки

Фреймворк в панели
go
Сборка
По вашему Dockerfile, по готовому образу из реестра или автоматически — по репозиторию
Как работает в проде
Контейнер в микро-VM Firecracker, реплики и scale-to-zero

Go-проект можно развернуть и как serverless-функцию: тогда код собирается в бинарник с HTTP-обёрткой и живёт по адресу на fn.tatnet.cloud, а не как постоянное приложение.

Как задеплоить Go

01

Подключите репозиторий

GitHub App, GitLab OAuth или наш Gitea. Платформа прочитает конфиги и определит фреймворк — в вашем случае Go.

02

Укажите запуск и реплики

Команда запуска определяется автоматически, но её можно задать явно. Там же выбирается число реплик и подключение к VPC.

03

Деплой

Сборка идёт в одноразовой микро-VM, готовый образ запускается репликами. Приложение доступно на поддомене *.tatnet.app или вашем домене.

Возможности Go на Татнет

Автоопределение при подключении репозитория

Есть

GitHub, GitLab и Gitea

Есть

Кастомный домен и бесплатный SSL

Есть

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

Есть

Preview для Pull Request

Есть

Логи сборки и рантайма в панели

Есть

Монорепозиторий (Root Directory)

Есть

Реплики (от 0 до 10) и постепенная выкатка

Есть

Подключение к приватной сети VPC

Есть

Сборка по go.mod

Есть

Свой Dockerfile

Да, приоритетнее автоопределения

Go как serverless-функция

Да, отдельный продукт платформы

Подключение к VPC

Есть

gRPC наружу

Через свой домен и TLS на edge

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

Нужно ли писать Dockerfile?

Нет: сборщик увидит go.mod, соберёт бинарник и упакует его сам. Dockerfile нужен, если требуются системные зависимости или своя многослойная сборка.

Что выбрать — приложение или serverless-функцию?

Функцию — если это один HTTP-обработчик и вызовы редкие: платить за простой не придётся. Приложение — если нужны своё состояние в памяти, долгие соединения или фоновые горутины.

Какой адрес слушать?

http.ListenAndServe(":"+os.Getenv("PORT"), nil). Порт приходит из окружения; localhost указывать не нужно.

Работают ли фоновые горутины?

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

Другие фреймворки в категории «Бэкенд»

Полный список — каталог фреймворков.

Задеплойте Go на Татнет

Подключите репозиторий — платформа определит фреймворк и соберёт проект. Регистрация без карты.