Deutsch

Blog · Deploy-Anleitungen

So deployst du eine Go-Fiber-App 2026: ein Befehl, HTTPS und ein Dockerfile, das bleibt

Vom Pethost-Team · · Aktualisiert · 8 Min. Lesezeit

Du hast eine Fiber-App, die auf localhost:3000 antwortet, und willst sie unter einer öffentlichen Adresse mit HTTPS haben. Bei Pethost ist das ein Befehl, pethost deploy, ausgeführt im Ordner mit der go.mod. Er schreibt das Dockerfile für dich, baut das Programm und gibt seine Adresse aus. Das Hello World von Fiber war beim ersten Mal in 45 s gebaut und gestartet, beim zweiten Mal in 3 s.

Kurz gesagt
  • Ein Befehl: pethost deploy im Ordner mit der go.mod. Du schreibst keine Konfigurationsdatei und trägst keinen Build- oder Startbefehl ein.
  • Was er tut: Er liest die Go-Version aus der go.mod, schreibt ein Dockerfile, das go build ausführt, und startet das Programm.
  • Der Port: der, den app.Listen nennt. Pethost findet den Port, auf dem das Programm lauscht, also brauchst du keine Variable PORT.
  • Die Adresse: https://my-api.yourname.pethost.app, sofort mit HTTPS. Deine eigene Domain ist ein DNS-Eintrag.
  • Der Preis: 9,99 € im Monat für 2 vCPU, 3 GB und 30 GB, für diese App und jedes andere Projekt, das du hast. Einen Free Tier gibt es nicht.

Was du brauchst, um eine Fiber-App 2026 zu deployen

Drei Dinge: die App, den Befehl pethost und ein Pethost-Konto.

Die App ist hier das Hello World von Fiber: go mod init my-api, go get github.com/gofiber/fiber/v3 und diese 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"))
}

Der Befehl ist ein Programm, installiert mit einer Zeile. Alle seine Befehle stehen in der Referenz der CLI.

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

Das Konto braucht einen Tarif. Bist du nicht angemeldet, öffnet pethost deploy deinen Browser und meldet dich an. Hast du noch keinen Tarif, zeigt es dir, wo du einen wählst, und wartet.

Die Fiber-App mit einem Befehl deployen

Geh in den Ordner mit der go.mod und führ pethost deploy aus. Das ist die ganze Ausgabe für das 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. Es fragt nach einer Sache Nach dem Namen des Projekts, dem ersten Wort seiner Adresse. Enter übernimmt den Namen des Ordners.
  2. Die Maschine findet nichts zum Ausführen Die Zeile mit dem Kreuz ist ihre Antwort: Ein Projekt läuft aus einem Dockerfile oder einer Compose-Datei, und der Ordner hat noch keins von beiden.
  3. pethost schreibt das Dockerfile Es hat die go.mod gesehen und daneben ein package main, und lädt den Ordner erneut hoch.
  4. Die Maschine baut und startet es Sie sieht, dass das Programm auf 3000 lauscht, und leitet die Adresse dorthin. Dann ruft pethost die Adresse selbst auf und gibt aus, was sie geantwortet hat: 200.

Die Adresse antwortet mit dem, was der Handler sendet, und ein Pfad ohne Route bekommt das eigene 404 von Fiber:

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

Die Datei .pethost sagt, welches Projekt dieser Ordner ist. Committe sie mit dem Dockerfile, dann fragt der nächste Deploy nichts mehr.

Das Dockerfile, das pethost für eine Fiber-App schreibt

Das ist die Datei, wie sie in den Ordner des Hello World geschrieben wurde, vollständig:

# 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"]

Nichts darin ist spezifisch für Fiber: Eine Fiber-App ist ein Go-Programm, und danach sucht pethost. Drei Dinge kommen aus deinem Ordner:

Die beiden Cache-Mounts behalten die Module und den Build-Cache von Go zwischen den Deploys auf deiner Maschine. Kann die Maschine das Dockerfile, das pethost geschrieben hat, nicht bauen oder starten, nimmt pethost die Datei wieder aus deinem Ordner und sagt, was fehlgeschlagen ist.

Auf welchem Port lauscht Fiber?

Auf dem, den du app.Listen gibst. Das Hello World sagt ":3000", und die Ausgabe des Deploys sagt es auch: app listens on 3000. Die Maschine schaut sich den laufenden Container an, also musst du keinen Port deklarieren und keine Variable PORT lesen. Der eigene Startbildschirm von Fiber steht im Log:

$ 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

Wer die Adresse öffnet, kommt per HTTPS auf dem üblichen Port, und der Proxy auf deiner Maschine reicht jeden Request an das Programm weiter. Eine Variable, die die App liest, ist ein Befehl, pethost env set DATABASE_URL: Er fragt nach dem Wert, ohne ihn anzuzeigen, schreibt ihn in die Datei .env des Projekts auf der Maschine, und spätere Deploys behalten ihn.

Den Code ändern und neu deployen

Bearbeite einen Handler und führ denselben Befehl aus. Die Maschine behält die Layer des Builds und die Caches von 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

Soll stattdessen jeder Push deployt werden, verbinde das Repository einmal:

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

Pethost liest nur die Repositorys, die du seiner GitHub-App gegeben hast. Geht ein Deploy schief, holt pethost rollback die Version davor zurück, und deine Maschine behält die drei Versionen vor der aktuellen. Ein KI-Agent kann all das über den MCP-Server von Pethost für dich erledigen: wie ein Agent ein Projekt deployt und betreut. Derselbe Befehl deployt eine Gin-App.

Eine eigene Domain für die App nutzen

Jeder Name unter der Domain deines Kontos ist sofort eine Adresse, mit HTTPS. Eine Domain, die dir gehört, braucht einen Befehl und einen DNS-Eintrag:

pethost domain add api.example.com

Der Befehl gibt den Eintrag aus, den du anlegst: einen CNAME von deinem Namen auf den Namen deiner Maschine. Das Zertifikat kommt von selbst, sobald der Name auflöst, und erneuert sich selbst.

Was du für den Preis bekommst

Pethost kostet 9,99 € im Monat für alles, was du hostest, auf 2 vCPU, 3 GB RAM und 30 GB Disk. Ein Fiber-Programm ist eine kleine Binärdatei, also hat die Maschine Platz für seine Datenbank, einen Worker und deine anderen Projekte. Es gibt keine Gebühr pro Projekt und nichts nach Verbrauch: Ein Monat mit viel Traffic kostet so viel wie ein ruhiger.

Was schon für dich erledigt ist: HTTPS mit Zertifikaten, die sich selbst erneuern, Deploys aus GitHub, nächtliche Backups, 14 Tage aufbewahrt, SSH in jeden Container, und jeder Request wird gezählt, mit den meistaufgerufenen Pfaden und der Fehlerrate der letzten 30 Tage. Die Maschine läuft immer, also wartet ein Request nie auf einen Cold Start. Die Tarife stehen im Abschnitt Preise der Startseite.

Ein Projekt, geöffnet bei seinen Requests. Wie viele kamen, wie schnell sie beantwortet wurden, und ein Diagramm der letzten 15 Minuten.
Das Pethost-Panel: ein Projekt, geöffnet bei seinen Requests, mit ihrer Anzahl, ihren Antwortzeiten und einem Diagramm der letzten 15 Minuten.

Pethost ist die beste Wahl für

  • alle, die in Go einen kleinen Service betreiben: das Programm, seine Datenbank und sein Worker auf einer Maschine, auf einer Rechnung
  • alle, die allein entwickeln, mit mehreren Side Projects, jedes unter einer eigenen Adresse
  • alle, deren Agent für sie deployt: Claude Code oder Codex bringt die App online und liest ihre Logs
  • junge Startups, die feste monatliche Kosten wollen, solange das Produkt klein ist

Schau dich anderswo um, wenn

  • deine Anwendung mehrere Regionen oder Autoscaling braucht

Fragen

Braucht eine Fiber-App ein Dockerfile zum Deployen?

Bei Pethost läuft ein Projekt aus einem Dockerfile oder einer Compose-Datei, und du musst es nicht selbst schreiben: In einem Ordner, der keins von beiden hat, schreibt pethost deploy das Dockerfile für ein Go-Programm und deployt es. Die Datei bleibt in deinem Ordner, und du kannst sie ändern.

Muss ich in einer Fiber-App die Variable PORT lesen?

Nein. Behalte den Port, den du app.Listen gibst, zum Beispiel ":3000". Pethost findet den Port, auf dem das laufende Programm lauscht, und leitet die Adresse dorthin, per HTTPS.

Kann ich eine Fiber-App bei jedem Push von GitHub deployen?

Ja. Deploye den Ordner einmal mit pethost deploy, dann führ pethost github owner/repository aus. Ab dann deployt sich jeder Push auf das Repository von selbst, und pethost rollback geht zu einem früheren Commit zurück.

Wie nutze ich eine eigene Domain mit HTTPS für eine Fiber-App?

Führ pethost domain add api.example.com aus und leg den einen DNS-Eintrag an, den er ausgibt: einen CNAME auf den Namen deiner Maschine. Das Zertifikat kommt von selbst, sobald der Name auflöst, und erneuert sich selbst.

Was kostet es, eine Fiber-App bei Pethost zu hosten?

9,99 € im Monat für Starter, mit 2 vCPU, 3 GB und 30 GB und ohne Gebühr pro Projekt: Deine anderen Apps, Websites und Datenbanken laufen dort auch. Einen Free Tier gibt es nicht. Die Preise verstehen sich zzgl. MwSt.

Die Ausgaben stammen von Deploys des Hello World von Fiber, mit Fiber 3.5.0, Go 1.25 und pethost 0.2.1, auf einer Testmaschine von uns, die vorher nichts gebaut hatte. Das Konto darin ist das Beispielkonto, sam.

  1. Fiber: Dokumentation und Hello World
  2. Fiber: Rezepte
  3. pethost, die Kommandozeile von Pethost

Bring deine Projekte noch heute online

Deploy Apps, Bots und Datenbanken aus deinem Agenten, von GitHub oder im Browser, so viele, wie hineinpassen, zu einem festen Preis. Nichts nach Verbrauch, nichts obendrauf.

Alle deine Projekte für 9,99 €/Monat hosten