Русский

Блог · Гайды по деплою

Как задеплоить приложение на Go Fiber в 2026: одна команда, HTTPS и Dockerfile, который остается у вас

Команда Pethost · · Обновлено · 7 мин чтения

У вас есть приложение на Fiber, которое отвечает на localhost:3000, и вы хотите выложить его по публичному адресу с HTTPS. На Pethost это одна команда, pethost deploy, в папке, где лежит go.mod. Она сама пишет Dockerfile, собирает программу и печатает ее адрес. Hello world от Fiber в первый раз собрался и запустился за 45 секунд, а во второй — за 3 секунды.

Коротко
  • Одна команда: pethost deploy в папке с go.mod. Не нужно ни писать файл конфигурации, ни заполнять команды сборки и запуска.
  • Что она делает: читает версию Go из go.mod, пишет Dockerfile, который запускает go build, и запускает программу.
  • Порт: тот, что указан в app.Listen. Pethost сам находит порт, который слушает программа, поэтому переменная PORT не нужна.
  • Адрес: https://my-api.yourname.pethost.app, сразу с HTTPS. Свой домен — одна DNS-запись.
  • Цена: 9,99 € в месяц за 2 vCPU, 3 GB и 30 GB — для этого приложения и всех остальных ваших проектов. Бесплатного тарифа нет.

Что нужно, чтобы задеплоить приложение на Fiber в 2026 году

Три вещи: само приложение, команда pethost и аккаунт Pethost.

Приложение здесь — hello world от Fiber: go mod init my-api, go get github.com/gofiber/fiber/v3 и вот этот main.go:

package main

import (
	"log"

	"github.com/gofiber/fiber/v3"
)

func main() {
	// Initialize a new Fiber app
	app := fiber.New()

	// Define a route for the GET method on the root path '/'
	app.Get("/", func(c fiber.Ctx) error {
		// Send a string response to the client
		return c.SendString("Hello, World 👋!")
	})

	// Start the server on port 3000
	log.Fatal(app.Listen(":3000"))
}

Команда — это одна программа, которая ставится одной строкой. Все ее команды есть в справочнике CLI.

curl -fsSL https://pethost.dev/install.sh | sh      # macOS, Linux
irm https://pethost.dev/install.ps1 | iex           # Windows, in PowerShell

Аккаунту нужен тариф. Если вы не вошли, pethost deploy откроет браузер, и вы войдете. Если тарифа еще нет, команда покажет, где его выбрать, и подождет.

Деплой приложения на Fiber одной командой

Перейдите в папку с go.mod и запустите pethost deploy. Вот весь экран для hello world:

$ cd my-api
$ pethost deploy
Name it [my-api]:    it will live at https://my-api.sam.pethost.app
✓ Packed 3 files, 5 KB
✓ Uploaded straight to your machine
✗ /compose.yaml: the project directory has no compose.yaml at its root: add one
✓ Go program detected, wrote Dockerfile.
✓ Packed 4 files, 5 KB
✓ Uploaded straight to your machine
✓ Built and started in 45 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env
✓ app listens on 3000 → https://my-api.sam.pethost.app
  It answers 200.

https://my-api.sam.pethost.app

Wrote .pethost (commit it). Next:   pethost logs -f   ·   pethost open
  1. Она спрашивает одно Имя проекта — первое слово его адреса. Enter берет имя папки.
  2. Машина не находит, что запускать Строка с крестиком — ее ответ: проект запускается из Dockerfile или Compose-файла, а в папке пока нет ни того, ни другого.
  3. pethost пишет Dockerfile Он увидел go.mod и package main рядом с ним и загружает папку снова.
  4. Машина собирает и запускает его Она видит, что программа слушает порт 3000, и направляет туда адрес. Затем pethost сам открывает адрес и печатает, что тот ответил: 200.

Адрес отвечает тем, что отправляет обработчик, а на путь без маршрута Fiber отвечает своим 404:

$ curl https://my-api.sam.pethost.app/
Hello, World 👋!

Файл .pethost говорит, какой проект в этой папке. Закоммитьте его вместе с Dockerfile, и следующий деплой ничего не спросит.

Dockerfile, который pethost пишет для приложения на Fiber

Вот этот файл целиком, каким он был записан в папку hello world:

# Written by pethost deploy for this Go program: Go 1.25 (go.mod), its program is ..
# It is yours now: change it as you like. pethost does not write it again.

FROM golang:1.25
WORKDIR /app

COPY . .

RUN --mount=type=cache,target=/go/pkg/mod \
    --mount=type=cache,target=/root/.cache/go-build \
    go build -o /usr/local/bin/my-api .

CMD ["my-api"]

В нем нет ничего про Fiber: приложение на Fiber — это программа на Go, и именно ее ищет pethost. Три вещи берутся из вашей папки:

Два монтирования кеша хранят модули и кеш сборки Go на вашей машине между деплоями. Если машина не может собрать или запустить Dockerfile, который написал pethost, pethost убирает файл из вашей папки и говорит, что не получилось.

Какой порт слушает Fiber?

Тот, что вы передаете в app.Listen. В hello world это ":3000", и экран деплоя говорит то же самое: app listens on 3000. Машина смотрит на работающий контейнер, поэтому не нужно ни объявлять порт, ни читать переменную PORT. Стартовый экран самого Fiber — в логе:

$ pethost logs
2026-10-10T11:29:50Z	app	INFO Server started on: 	http://127.0.0.1:3000 (bound on host 0.0.0.0 and port 3000)
2026-10-10T11:29:50Z	app	INFO Total handlers: 		2
2026-10-10T11:29:50Z	app	INFO Prefork: 			Disabled
2026-10-10T11:29:50Z	app	INFO PID: 			1

Посетители приходят по HTTPS на обычный порт, а прокси на вашей машине передает каждый запрос программе. Переменная, которую читает приложение, — это одна команда, pethost env set DATABASE_URL: она спрашивает значение, не показывая его, кладет его в файл .env проекта на машине, и следующие деплои его сохраняют.

Измените код и задеплойте снова

Отредактируйте обработчик и запустите ту же команду. Машина хранит слои сборки и кеши Go:

$ pethost deploy
my-api (.pethost)
✓ Packed 5 files · uploaded · built and started in 3 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env
  · kept the project's x-pethost
  It answers 200.
https://my-api.sam.pethost.app

Чтобы вместо этого деплоить каждый пуш, один раз подключите репозиторий:

pethost github sam/my-api          # from now on, every push deploys itself

Pethost читает только те репозитории, которые вы дали его GitHub App. Если деплой пошел не так, pethost rollback возвращает предыдущую версию, а ваша машина хранит три версии перед текущей. ИИ-агент может сделать все это за вас через MCP-сервер Pethost: как агент деплоит проект и следит за ним. Та же команда деплоит приложение на Gin.

Свой домен для приложения

Любое имя в домене вашего аккаунта сразу становится адресом с HTTPS. Для своего домена нужны одна команда и одна DNS-запись:

pethost domain add api.example.com

Команда печатает запись, которую нужно создать: CNAME с вашего имени на имя вашей машины. Сертификат появляется сам, как только имя начинает указывать на машину, и сам продлевается.

Что вы получаете за эти деньги

Pethost стоит 9,99 € в месяц за все, что вы хостите, на 2 vCPU, 3 GB памяти и 30 GB диска. Программа на Fiber — это один небольшой бинарник, так что на машине остается место для ее базы данных, воркера и других ваших проектов. Платы за проект нет, и ничего не считается по счетчику: загруженный месяц стоит столько же, сколько тихий.

Что уже сделано за вас: HTTPS с сертификатами, которые продлеваются сами, деплои из GitHub, ночные бэкапы, которые хранятся 14 дней, SSH в любой контейнер и учет каждого запроса — с самыми популярными путями и долей ошибок за последние 30 дней. Машина всегда включена, поэтому запрос никогда не ждет холодного старта. Тарифы — в разделе цен на главной странице.

Один проект, открытый на запросах. Сколько их пришло, как быстро на них ответили, и график за последние 15 минут.
Панель Pethost: один проект, открытый на запросах, с их числом, временем ответа и графиком за последние 15 минут.

Pethost — лучший выбор для

  • Go-разработчиков с небольшим сервисом: программа, ее база данных и воркер на одной машине, с одним счетом
  • Разработчиков-одиночек с несколькими личными проектами, у каждого из которых свой адрес
  • Людей, за которых деплоит агент: Claude Code или Codex выкладывает приложение и читает его логи
  • Стартапов на ранней стадии, которым нужны фиксированные расходы в месяц, пока продукт небольшой

Ищите другое, если

  • Вашему приложению нужны несколько регионов или автомасштабирование

Вопросы

Нужен ли Dockerfile, чтобы задеплоить приложение на Fiber?

На Pethost проект запускается из Dockerfile или Compose-файла, и писать его самому не нужно: в папке, где нет ни того, ни другого, pethost deploy пишет Dockerfile для программы на Go и деплоит ее. Файл остается в вашей папке, и его можно менять.

Нужно ли читать переменную PORT в приложении на Fiber?

Нет. Оставьте порт, который вы передаете в app.Listen, например ":3000". Pethost находит порт, который слушает работающая программа, и направляет туда адрес по HTTPS.

Можно ли деплоить приложение на Fiber из GitHub при каждом пуше?

Да. Один раз задеплойте папку через pethost deploy, затем запустите pethost github owner/repository. С этого момента каждый пуш в репозиторий деплоится сам, а pethost rollback возвращает более ранний коммит.

Как подключить свой домен с HTTPS к приложению на Fiber?

Запустите pethost domain add api.example.com и создайте одну DNS-запись, которую команда напечатает: CNAME на имя вашей машины. Сертификат появляется сам, как только имя начинает указывать на машину, и сам продлевается.

Сколько стоит хостинг приложения на Fiber на Pethost?

9,99 € в месяц за Starter: 2 vCPU, 3 GB и 30 GB без платы за проект, так что там же работают ваши другие приложения, сайты и базы данных. Бесплатного тарифа нет. Цены без НДС.

На экранах — деплои hello world от Fiber с Fiber 3.5.0, Go 1.25 и pethost 0.2.1 на нашей тестовой машине, которая до этого ничего не собирала. Аккаунт на них — пример, sam.

  1. Fiber: документация и hello world
  2. Fiber: рецепты
  3. pethost, командная строка Pethost

Запустите свои проекты уже сегодня

Деплойте приложения, ботов и базы данных из агента, с GitHub или в браузере, сколько поместится, по одной фиксированной цене. Ничего по счётчику, ничего сверху.

Разместить проекты за 9,99 €/мес