Blog · Guides de déploiement
Comment déployer une application Go Fiber en 2026 : une commande, HTTPS et un Dockerfile qui reste à vous
Vous avez une application Fiber qui répond sur localhost:3000, et vous voulez la mettre en ligne à une adresse publique en HTTPS. Sur Pethost, c’est une seule commande, pethost deploy, lancée dans le dossier qui contient go.mod. Elle écrit le Dockerfile à votre place, construit le programme et affiche son adresse. Le hello world de Fiber a été construit et démarré en 45 secondes la première fois, et en 3 secondes la deuxième.
- Une commande :
pethost deploydans le dossier qui contientgo.mod. Il n’y a ni fichier de configuration à écrire, ni commande de build ou de démarrage à renseigner. - Ce qu’elle fait : elle lit la version de Go dans
go.mod, écrit un Dockerfile qui lancego build, et démarre le programme. - Le port : celui que nomme
app.Listen. Pethost trouve le port sur lequel le programme écoute, aucune variablePORTn’est donc nécessaire. - L’adresse :
https://my-api.yourname.pethost.app, en HTTPS d’emblée. Votre propre domaine, c’est un enregistrement DNS. - Le prix : 9,99 € par mois pour 2 vCPU, 3 GB et 30 GB, pour cette application et tous vos autres projets. Il n’y a pas d’offre gratuite.
Ce qu’il faut pour déployer une application Fiber en 2026
Trois choses : l’application, la commande pethost et un compte Pethost.
L’application est ici le hello world de Fiber : go mod init my-api, go get github.com/gofiber/fiber/v3, et ce 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"))
}
La commande est un seul programme, qui s’installe en une ligne. Toutes ses commandes sont dans la référence de la CLI.
curl -fsSL https://pethost.dev/install.sh | sh # macOS, Linux
irm https://pethost.dev/install.ps1 | iex # Windows, in PowerShell
Le compte a besoin d’une offre. Si vous n’êtes pas connecté, pethost deploy ouvre votre navigateur et vous connecte. Si vous n’avez pas encore d’offre, la commande vous montre où en choisir une, et attend.
Déployer l’application Fiber en une commande
Allez dans le dossier qui contient go.mod et lancez pethost deploy. Voici l’écran entier, pour le 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
- Elle pose une seule question Le nom du projet, qui est le premier mot de son adresse. La touche Entrée prend le nom du dossier.
- La machine ne trouve rien à lancer La ligne avec la croix est sa réponse : un projet tourne à partir d’un Dockerfile ou d’un fichier Compose, et le dossier n’a encore ni l’un ni l’autre.
- pethost écrit le Dockerfile Il a vu
go.modet unpackage mainà côté, et il envoie de nouveau le dossier. - La machine le construit et le démarre Elle voit que le programme écoute sur le port 3000 et y dirige l’adresse. Puis pethost interroge lui-même l’adresse, et affiche ce qu’elle a répondu : 200.
L’adresse répond ce qu’envoie le handler, et un chemin sans route reçoit le 404 de Fiber lui-même :
$ curl https://my-api.sam.pethost.app/
Hello, World 👋!
Le fichier .pethost indique à quel projet correspond ce dossier. Commitez-le avec le Dockerfile, et le prochain déploiement ne demandera rien.
Le Dockerfile que pethost écrit pour une application Fiber
Voici le fichier tel qu’il a été écrit dans le dossier du hello world, en entier :
# 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"]
Rien dedans ne concerne Fiber : une application Fiber est un programme Go, et c’est ce que pethost cherche. Trois choses viennent de votre dossier :
- La version de Go est celle de la ligne
godego.mod. - Le programme est le
package mainà la racine du module, ou l’unique dossier decmd/qui en a un. Quandcmd/en a plusieurs, pethost n’écrit rien et dit pourquoi. - Le nom est la dernière partie du chemin du module, celui que lui donnerait
go install.
Les deux montages de cache gardent les modules et le cache de build de Go sur votre machine d’un déploiement à l’autre. Si la machine ne peut pas construire ou démarrer le Dockerfile écrit par pethost, pethost retire le fichier de votre dossier et dit ce qui a échoué.
Sur quel port écoute Fiber ?
Celui que vous donnez à app.Listen. Le hello world indique ":3000", et l’écran du déploiement le dit aussi : app listens on 3000. La machine regarde le conteneur en cours d’exécution : il n’y a donc aucun port à déclarer ni aucune variable PORT à lire. L’écran de démarrage de Fiber lui-même est dans les logs :
$ 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
Les visiteurs arrivent en HTTPS sur le port habituel, et le proxy de votre machine transmet chaque requête au programme. Une variable que l’application lit, c’est une commande, pethost env set DATABASE_URL : elle demande la valeur sans l’afficher, la place dans le fichier .env du projet sur la machine, et les déploiements suivants la gardent.
Modifier le code et redéployer
Modifiez un handler et lancez la même commande. La machine garde les couches du build et les caches de 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
Pour déployer plutôt à chaque push, connectez le dépôt une fois :
pethost github sam/my-api # from now on, every push deploys itself
Pethost ne lit que les dépôts que vous avez donnés à son application GitHub. Si un déploiement tourne mal, pethost rollback remet la version d’avant, et votre machine garde les trois versions qui précèdent l’actuelle. Un agent IA peut faire tout cela pour vous via le serveur MCP de Pethost : comment un agent déploie un projet et s’en occupe. La même commande déploie une application Gin.
Utiliser votre propre domaine pour l’application
Tout nom sous le domaine de votre compte est aussitôt une adresse, en HTTPS. Un domaine à vous demande une commande et un enregistrement DNS :
pethost domain add api.example.com
La commande affiche l’enregistrement à créer : un CNAME de votre nom vers le nom de votre machine. Le certificat arrive tout seul dès que le nom se résout, et se renouvelle tout seul.
Ce que vous obtenez pour ce prix
Pethost coûte 9,99 € par mois pour tout ce que vous hébergez, sur 2 vCPU, 3 GB de mémoire et 30 GB de disque. Un programme Fiber est un petit binaire : la machine a donc de la place pour sa base de données, un worker et vos autres projets. Il n’y a pas de frais par projet et rien n’est facturé à l’usage : un mois chargé coûte autant qu’un mois calme.
- 9,99 € par mois pour tous vos projets, rien à l’usage
- 45 s pour construire et démarrer le hello world, la première fois
- 3 s pour le déploiement suivant
Ce qui est déjà fait pour vous : HTTPS avec des certificats qui se renouvellent tout seuls, déploiements depuis GitHub, sauvegardes chaque nuit conservées 14 jours, SSH dans n’importe quel conteneur, et chaque requête comptée, avec les chemins les plus sollicités et le taux d’erreurs des 30 derniers jours. La machine est toujours allumée, donc une requête n’attend jamais un démarrage à froid. Les offres sont dans la partie tarifs de la page d’accueil.
Pethost est le meilleur choix pour
- Les développeurs Go avec un petit service : le programme, sa base de données et son worker sur une machine, sur une seule facture
- Les développeurs solo qui ont plusieurs projets perso, chacun à sa propre adresse
- Ceux dont l’agent déploie à leur place : Claude Code ou Codex met l’application en ligne et lit ses logs
- Les jeunes startups qui veulent un coût mensuel fixe tant que le produit est petit
Cherchez ailleurs si
- Votre application a besoin de plusieurs régions ou d’autoscaling
Questions
Faut-il un Dockerfile pour déployer une application Fiber ?
Sur Pethost, un projet tourne à partir d’un Dockerfile ou d’un fichier Compose, et vous n’avez pas à l’écrire : dans un dossier qui n’a ni l’un ni l’autre, pethost deploy écrit le Dockerfile d’un programme Go et le déploie. Le fichier reste dans votre dossier, et vous pouvez le modifier.
Faut-il lire la variable PORT dans une application Fiber ?
Non. Gardez le port que vous donnez à app.Listen, par exemple ":3000". Pethost trouve le port sur lequel écoute le programme en cours d’exécution et y dirige l’adresse, en HTTPS.
Peut-on déployer une application Fiber depuis GitHub à chaque push ?
Oui. Déployez le dossier une fois avec pethost deploy, puis lancez pethost github owner/repository. Dès lors, chaque push sur le dépôt se déploie tout seul, et pethost rollback revient à un commit précédent.
Comment ajouter un domaine personnalisé en HTTPS à une application Fiber ?
Lancez pethost domain add api.example.com et créez l’unique enregistrement DNS que la commande affiche, un CNAME vers le nom de votre machine. Le certificat arrive tout seul dès que le nom se résout, et se renouvelle tout seul.
Combien coûte l’hébergement d’une application Fiber sur Pethost ?
9,99 € par mois pour Starter, avec 2 vCPU, 3 GB et 30 GB, sans frais par projet : vos autres applications, sites et bases de données y tournent aussi. Il n’y a pas d’offre gratuite. Les prix sont hors TVA.
Les écrans sont des déploiements du hello world de Fiber, avec Fiber 3.5.0, Go 1.25 et pethost 0.2.1, sur une de nos machines de test qui n’avait encore rien construit. Le compte qu’on y voit est celui de l’exemple, sam.
Mettez vos projets en ligne dès aujourd’hui
Déployez applications, bots et bases de données depuis votre agent, GitHub ou le navigateur, autant qu’il en tient, à un prix fixe. Rien au compteur, rien facturé en plus.