Polski

Blog · Poradniki wdrożeń

Jak wdrożyć aplikację Go Fiber w 2026: jedno polecenie, HTTPS i Dockerfile, który zostaje u ciebie

Zespół Pethost · · Zaktualizowano · 7 min czytania

Masz aplikację Fiber, która odpowiada na localhost:3000, i chcesz ją mieć pod publicznym adresem z HTTPS. Na Pethost to jedno polecenie, pethost deploy, uruchomione w katalogu z go.mod. Samo pisze za ciebie Dockerfile, buduje program i wypisuje jego adres. Hello world Fibera za pierwszym razem zbudował się i uruchomił w 45 sekund, a za drugim w 3 sekundy.

W skrócie
  • Jedno polecenie: pethost deploy w katalogu z go.mod. Nie trzeba pisać pliku konfiguracyjnego ani wpisywać polecenia build czy start.
  • Co robi: czyta wersję Go z go.mod, pisze Dockerfile, który uruchamia go build, i uruchamia program.
  • Port: ten, który podaje app.Listen. Pethost sam znajduje port, na którym nasłuchuje program, więc zmienna PORT nie jest potrzebna.
  • Adres: https://my-api.yourname.pethost.app, od razu z HTTPS. Twoja własna domena to jeden rekord DNS.
  • Cena: 9,99 € miesięcznie za 2 vCPU, 3 GB i 30 GB, na tę aplikację i każdy inny twój projekt. Nie ma darmowego planu.

Czego potrzebujesz, żeby wdrożyć aplikację Fiber w 2026

Trzech rzeczy: aplikacji, polecenia pethost i konta Pethost.

Aplikacja to tutaj hello world Fibera: go mod init my-api, go get github.com/gofiber/fiber/v3 i ten 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"))
}

Polecenie to jeden program, instalowany jedną linią. Wszystkie jego polecenia są w dokumentacji CLI.

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

Konto potrzebuje planu. Gdy trzeba się zalogować, pethost deploy otwiera przeglądarkę i cię loguje. Jeśli nie masz jeszcze planu, pokazuje, gdzie go wybrać, i czeka.

Wdróż aplikację Fiber jednym poleceniem

Przejdź do katalogu z go.mod i uruchom pethost deploy. Oto cały ekran dla 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. Pyta o jedno O nazwę projektu, która jest pierwszym słowem jego adresu. Enter bierze nazwę katalogu.
  2. Maszyna nie znajduje nic do uruchomienia Linia z krzyżykiem to jej odpowiedź: projekt działa z Dockerfile albo z pliku Compose, a w katalogu nie ma jeszcze żadnego z nich.
  3. pethost pisze Dockerfile Zobaczył go.mod, a obok niego package main, więc wgrywa katalog jeszcze raz.
  4. Maszyna buduje i uruchamia program Widzi, że program nasłuchuje na porcie 3000, i tam kieruje adres. Potem pethost sam odpytuje adres i wypisuje, co ten odpowiedział: 200.

Adres odpowiada tym, co wysyła handler, a ścieżka bez trasy dostaje 404 samego Fibera:

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

Plik .pethost mówi, którym projektem jest ten katalog. Zrób jego commit razem z Dockerfile, a następne wdrożenie o nic nie zapyta.

Dockerfile, który pethost pisze dla aplikacji Fiber

Oto cały plik, tak jak trafił do katalogu 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"]

Nic w nim nie dotyczy Fibera: aplikacja Fiber to program w Go i właśnie tego szuka pethost. Z twojego katalogu biorą się trzy rzeczy:

Dwa montowania cache trzymają moduły Go i cache builda na twojej maszynie między wdrożeniami. Jeśli maszyna nie zbuduje albo nie uruchomi Dockerfile napisanego przez pethost, pethost usuwa ten plik z twojego katalogu i mówi, co się nie udało.

Na jakim porcie nasłuchuje Fiber?

Na tym, który podajesz app.Listen. Hello world podaje ":3000" i ekran wdrożenia mówi to samo: app listens on 3000. Maszyna patrzy na działający kontener, więc nie trzeba deklarować portu ani czytać zmiennej PORT. Ekran startowy samego Fibera jest w logach:

$ 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

Odwiedzający przychodzą przez HTTPS na zwykły port, a proxy na twojej maszynie przekazuje każde żądanie programowi. Zmienna, którą czyta aplikacja, to jedno polecenie, pethost env set DATABASE_URL: pyta o wartość, nie pokazując jej, zapisuje ją w pliku .env projektu na maszynie, a kolejne wdrożenia ją zachowują.

Zmień kod i wdróż ponownie

Zmień handler i uruchom to samo polecenie. Maszyna przechowuje warstwy builda i cache 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

Żeby zamiast tego wdrażać po każdym pushu, podłącz raz repozytorium:

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

Pethost czyta tylko repozytoria udostępnione jego GitHub App. Jeśli wdrożenie pójdzie źle, pethost rollback przywraca wersję sprzed niego, a twoja maszyna trzyma trzy wersje sprzed bieżącej. Agent AI może zrobić to wszystko za ciebie przez serwer MCP Pethost: jak agent wdraża projekt i o niego dba. To samo polecenie wdraża aplikację Gin.

Użyj własnej domeny dla aplikacji

Każda nazwa pod domeną twojego konta od razu jest adresem, z HTTPS. Domena, którą masz, to jedno polecenie i jeden rekord DNS:

pethost domain add api.example.com

Polecenie wypisuje rekord do utworzenia: CNAME z twojej nazwy na nazwę twojej maszyny. Certyfikat pojawia się sam, gdy tylko nazwa zacznie się rozwiązywać, i sam się odnawia.

Co dostajesz za tę cenę

Pethost kosztuje 9,99 € miesięcznie za wszystko, co hostujesz, na 2 vCPU, 3 GB pamięci i 30 GB dysku. Program we Fiberze to jedna mała binarka, więc na maszynie zostaje miejsce na jego bazę danych, workera i twoje inne projekty. Nie ma opłaty za projekt ani żadnych liczników: miesiąc z dużym ruchem kosztuje tyle samo co spokojny.

Co jest już zrobione za ciebie: HTTPS z certyfikatami, które same się odnawiają, wdrożenia z GitHuba, nocne backupy trzymane przez 14 dni, SSH do każdego kontenera i każde żądanie policzone, z najczęściej odwiedzanymi ścieżkami i odsetkiem błędów z ostatnich 30 dni. Maszyna działa cały czas, więc żądanie nigdy nie czeka na zimny start. Plany są w cenniku na stronie głównej.

Jeden projekt otwarty w zakładce Żądania. Ile ich przyszło, jak szybko dostały odpowiedź, i wykres ostatnich 15 minut.
Panel Pethost: jeden projekt otwarty w zakładce Żądania, z liczbą żądań, czasami odpowiedzi i wykresem ostatnich 15 minut.

Pethost to najlepszy wybór dla

  • Programistów Go z małą usługą: program, jego baza danych i worker na jednej maszynie, na jednym rachunku
  • Programistów solo z kilkoma projektami pobocznymi, każdym pod własnym adresem
  • Osób, za które wdraża agent: Claude Code albo Codex wystawia aplikację do sieci i czyta jej logi
  • Wczesnych startupów, które chcą stałego miesięcznego kosztu, póki produkt jest mały

Poszukaj gdzie indziej, jeśli

  • Twoja aplikacja potrzebuje kilku regionów albo autoskalowania

Pytania

Czy aplikacja Fiber potrzebuje Dockerfile do wdrożenia?

Na Pethost projekt działa z Dockerfile albo z pliku Compose, ale nie musisz go pisać: w katalogu, w którym nie ma żadnego z nich, pethost deploy pisze Dockerfile dla programu w Go i go wdraża. Plik zostaje w twoim katalogu i możesz go zmieniać.

Czy w aplikacji Fiber muszę czytać zmienną PORT?

Nie. Zostaw port, który podajesz app.Listen, na przykład ":3000". Pethost znajduje port, na którym nasłuchuje działający program, i tam kieruje adres, przez HTTPS.

Czy mogę wdrażać aplikację Fiber z GitHuba po każdym pushu?

Tak. Wdróż katalog raz przez pethost deploy, a potem uruchom pethost github owner/repository. Od tej chwili każdy push do repozytorium sam się wdraża, a pethost rollback wraca do wcześniejszego commita.

Jak podpiąć własną domenę z HTTPS do aplikacji Fiber?

Uruchom pethost domain add api.example.com i utwórz jeden rekord DNS, który polecenie wypisze: CNAME na nazwę twojej maszyny. Certyfikat pojawia się sam, gdy tylko nazwa zacznie się rozwiązywać, i sam się odnawia.

Ile kosztuje hosting aplikacji Fiber na Pethost?

9,99 € miesięcznie za plan Starter, z 2 vCPU, 3 GB i 30 GB, bez opłaty za projekt: twoje inne aplikacje, strony i bazy danych też tam działają. Nie ma darmowego planu. Ceny są bez VAT.

Ekrany to wdrożenia hello world Fibera, z Fiber 3.5.0, Go 1.25 i pethost 0.2.1, na naszej maszynie testowej, która wcześniej niczego nie budowała. Konto na nich to przykładowe sam.

  1. Fiber: dokumentacja i hello world
  2. Fiber: przepisy
  3. pethost, narzędzie wiersza poleceń Pethost

Opublikuj swoje projekty jeszcze dziś

Wdrażaj aplikacje, boty i bazy danych ze swojego agenta, z GitHuba lub w przeglądarce, tyle, ile się zmieści, w jednej stałej cenie. Nic liczonego za zużycie, nic doliczanego.

Hostuj wszystko za 9,99 €/mies.