Українська

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

Як задеплоїти застосунок на 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 €/міс