Блог · Гайди з деплою
Як задеплоїти застосунок на Go Fiber у 2026: одна команда, HTTPS і Dockerfile, що лишається у вас
У вас є застосунок на 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
- Вона питає одне Назву проєкту, яка стає першим словом його адреси. Enter бере назву папки.
- Машина не знаходить, що запускати Рядок із хрестиком — це її відповідь: проєкт запускається з Dockerfile або файлу Compose, а в папці поки немає ні того, ні іншого.
- pethost пише Dockerfile Він побачив
go.modі поруч із нимpackage mainта завантажує папку ще раз. - Машина збирає й запускає програму Вона бачить, що програма слухає порт 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 — та, що стоїть у рядку
goфайлуgo.mod. - Програма — це
package mainу корені модуля або та єдина папка вcmd/, де він є. Якщо вcmd/таких кілька, pethost нічого не пише й пояснює чому. - Назва — остання частина шляху модуля, як її назвав би
go install.
Два монтування кешу зберігають модулі 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 — це один невеликий бінарник, тож на машині лишається місце для її бази даних, воркера й інших ваших проєктів. Плати за проєкт немає, і нічого не тарифікується за використанням: напружений місяць коштує стільки ж, скільки спокійний.
- 9,99 € на місяць за всі ваші проєкти, без оплати за використання
- 45 с на першу збірку й запуск hello world
- 3 с на наступний деплой
Що вже зроблено за вас: HTTPS із сертифікатами, які поновлюються самі, деплої з GitHub, щонічні бекапи, що зберігаються 14 днів, SSH у будь-який контейнер і облік кожного запиту, з найпопулярнішими шляхами та часткою помилок за останні 30 днів. Машина працює завжди, тож запит ніколи не чекає на холодний старт. Тарифи — у розділі ціни на головній сторінці.
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.
Запустіть свої проєкти вже сьогодні
Деплойте застосунки, ботів і бази даних з агента, з GitHub або в браузері, скільки поміститься, за однією фіксованою ціною. Нічого за лічильником, нічого зверху.