---
title: "Comment déployer un site VitePress en 2026 "
description: "Déployez un site VitePress en une commande : pethost deploy écrit le Dockerfile, construit le site et le sert en HTTPS, pour 9,99 € par mois."
---

[Blog](https://pethost.dev/fr/blog/) · Guides de déploiement

# Comment déployer un site VitePress en 2026 : une commande, HTTPS et un Dockerfile qui reste à vous

Par l’équipe Pethost · 10 octobre 2026 · Mis à jour le 25 octobre 2026 · 9 min de lecture

Vous avez un site VitePress qui se construit sur votre ordinateur, et vous voulez le mettre en ligne à une adresse en HTTPS. Sur Pethost, c’est une seule commande, `pethost deploy`, lancée dans le dossier qui contient `package.json`. Elle écrit le Dockerfile à votre place, construit le site et affiche son adresse. Le starter de VitePress lui-même a été construit et démarré en 43 secondes la première fois.

**En bref**

- **Une commande :** `pethost deploy` dans le dossier qui contient `package.json`. Pas de fichier de configuration à écrire, pas de réglages de build à remplir.
- **Ce qu’elle fait :** elle trouve le script qui lance `vitepress build`, écrit un Dockerfile qui le lance, et sert `docs/.vitepress/dist`.
- **L’adresse :** `https://my-docs.yourname.pethost.app`, en HTTPS d’emblée. Votre propre domaine, c’est un enregistrement DNS.
- **Le Dockerfile est à vous :** il reste dans le dossier pour que vous le gardiez et le modifiiez, et pethost ne l’écrit plus jamais.
- **Le prix :** 9,99 € par mois pour 2 vCPU, 3 GB et 30 GB, pour ce site et tous vos autres projets. Il n’y a pas d’offre gratuite.

## Ce qu’il faut pour déployer un site VitePress en 2026

Trois choses : le site, la commande `pethost` et un compte Pethost.

**Le site** est un dossier tel que le laissent les premiers pas de VitePress : `npm add -D vitepress`, puis `npx vitepress init`. L’assistant met les pages dans `docs/` et trois scripts dans `package.json` :

```
"scripts": {
  "docs:dev": "vitepress dev ./docs",
  "docs:build": "vitepress build ./docs",
  "docs:preview": "vitepress preview ./docs"
}
```

**La commande** est un seul programme, qui s’installe en une ligne :

```
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 le site VitePress en une commande

Allez dans le dossier qui contient `package.json` et lancez `pethost deploy`. Voici l’écran entier, pour le starter qu’écrit `vitepress init` :

```
$ cd my-docs
$ pethost deploy
Name it [my-docs]:    it will live at https://my-docs.sam.pethost.app
✓ Packed 6 files, 90 KB   (left out node_modules)
✓ Uploaded straight to your machine
✗ /compose.yaml: the project directory has no compose.yaml at its root: add one
✓ VitePress site detected, wrote Dockerfile.
✓ Packed 7 files, 91 KB   (left out node_modules)
✓ Uploaded straight to your machine
✓ Built and started in 43 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env, port 80
✓ app listens on 80 → https://my-docs.sam.pethost.app
  It answers 200.

https://my-docs.sam.pethost.app

Wrote .pethost (commit it). Next:   pethost logs -f   ·   pethost open
```

1. **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.
2. **La machine ne trouve rien à lancer** Le dossier part directement sur votre machine, sans `node_modules`. 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.
3. **pethost écrit le Dockerfile** Il a vu `vitepress` dans `package.json` et un script qui lance `vitepress build`, et il envoie de nouveau le dossier.
4. **La machine le construit et le démarre** Puis pethost interroge lui-même l’adresse, et affiche ce qu’elle a répondu : 200.

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 VitePress

Voici le fichier tel qu’il a été écrit dans le dossier du starter, en entier :

```
# Written by pethost deploy for this VitePress site: package.json builds it with
# "vitepress build ./docs", which writes docs/.vitepress/dist, Node 24 (no .nvmrc names
# another), npm installs it (package-lock.json).
# It is yours now: change it as you like. pethost does not write it again.

FROM node:24 AS build
WORKDIR /app

COPY . .

# Every dependency: what builds the project, and may start it, is among the ones for
# development.
RUN --mount=type=cache,target=/root/.npm \
    npm install

RUN npm run docs:build

# The site is files: Caddy serves them on port 80.
FROM caddy:2
COPY --from=build /app/docs/.vitepress/dist /srv

COPY <<'EOF' /etc/caddy/Caddyfile
:80 {
	root * /srv
	# A browser that takes its answers compressed gets them so.
	encode
	# Names that begin with a dot are no pages;
	# .well-known is the one such folder that is there for visitors.
	@own {
		path */.*
		not path /.well-known/*
	}
	error @own 404
	# A page's address works without its ".html", and a folder's leads to its index.html.
	try_files {path} {path}.html {path}/
	file_server
	# An address that is no page: the site's own 404.html, if it has one.
	handle_errors 404 {
		rewrite * /404.html
		file_server
	}
}
EOF
EXPOSE 80
```

Ses premières lignes disent ce que pethost a lu dans votre dossier. Trois choses en viennent :

- **Le gestionnaire de paquets** est celui que nomme votre lockfile : npm, pnpm, Yarn ou Bun.
- **La version de Node** est celle que nomme `.nvmrc` ou `.node-version`, et Node 24 s’il n’y a ni l’un ni l’autre.
- **Le dossier à servir** dépend du script : `vitepress build ./docs` écrit `docs/.vitepress/dist`, et `vitepress build` seul écrit `.vitepress/dist`.

La seconde moitié est un petit serveur web pour les pages construites. Nous avons demandé au starter déployé ce que demande un visiteur. La page d’accueil, `/markdown-examples` et `/markdown-examples.html` ont chacune répondu 200, et une adresse qui n’est pas une page a répondu 404 avec la page « 404 » de VitePress lui-même.

Deux autres choses vous évitent un fichier qui ne marche pas. 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é. Et si votre configuration fixe `base` à un chemin comme `/docs/`, pethost n’écrit rien et dit pourquoi : sur Pethost, un site est à la racine de sa propre adresse, alors mettez `base` à `"/"` et redéployez.

## Modifier une page et redéployer

Modifiez une page et lancez la même commande. Le deuxième déploiement du starter a pris 4 secondes, car la machine garde les couches du build :

```
$ pethost deploy
my-docs (.pethost)
✓ Packed 8 files · uploaded · built and started in 4 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env, port 80
  · kept the project's x-pethost
  It answers 200.
https://my-docs.sam.pethost.app
```

Pour déployer plutôt à chaque push, connectez le dépôt une fois :

```
pethost github sam/my-docs          # 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](https://pethost.dev/fr/blog/hosting-for-ai-coding-agents/).

## Utiliser votre propre domaine pour la documentation

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 docs.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. `pethost password` place une page de mot de passe devant tout le site, pour une documentation qui n’est pas encore publique.

## 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 site VitePress construit, ce sont des fichiers derrière un petit serveur web : la machine a donc de la place pour l’application que la documentation décrit, sa base de données et vos autres projets. Il n’y a [pas de frais par projet](https://pethost.dev/fr/blog/unlimited-projects-flat-monthly-fee/) et rien n’est facturé à l’usage : le deuxième site ne coûte rien de plus.

- **9,99 €** par mois pour tous vos projets, rien à l’usage
- **43 s** pour construire et démarrer le starter, la première fois
- **0** fichier à écrire à la main

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. La console affiche les chemins les plus sollicités des 30 derniers jours, ce qui, pour un site de documentation, est la liste des pages que les gens lisent vraiment. La machine est toujours allumée, donc une page [n’attend jamais un démarrage à froid](https://pethost.dev/fr/blog/always-on-hosting-no-cold-starts/). Les offres sont dans la partie [tarifs](https://pethost.dev/fr/#pricing) de la page d’accueil.

**Les pages que les gens lisent.** Les dix chemins les plus sollicités d’un projet avec leur part et leurs temps de réponse, et le journal des requêtes une par une.

![La console Pethost : les dix chemins les plus sollicités d’un projet avec leur part, leur nombre et leurs temps de réponse, et le journal des requêtes une par une.](https://pethost.dev/shots/traffic.webp)

### Pethost est le meilleur choix pour

- **Les développeurs qui gardent la documentation à côté de l’application** : l’API, sa base de données et son site VitePress sur une machine, sur une seule facture
- **Les développeurs solo** qui ont plusieurs projets perso, chacun avec son propre site
- **Ceux dont l’agent déploie à leur place** : Claude Code ou Codex met le site en ligne et lit ses logs
- **Les petites équipes** qui veulent la documentation derrière une page de mot de passe jusqu’au lancement

### Cherchez ailleurs si

- Votre application a besoin de plusieurs régions ou d’autoscaling

## Questions

### Faut-il un Dockerfile pour déployer un site VitePress ?

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 site VitePress et le déploie. Le fichier reste dans votre dossier, et vous pouvez le modifier.

### Quel gestionnaire de paquets et quelle version de Node pour le build VitePress ?

Ceux que nomme votre dossier. Le gestionnaire de paquets est celui de votre lockfile : npm, pnpm, Yarn ou Bun. La version de Node est celle de `.nvmrc` ou de `.node-version`, et Node 24 s’il n’y a ni l’un ni l’autre.

### Peut-on déployer VitePress 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 utiliser un domaine personnalisé en HTTPS pour un site VitePress ?

Lancez `pethost domain add docs.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’un site VitePress sur Pethost ?

9,99 € par mois pour Starter, avec 2 vCPU, 3 GB et 30 GB, sans frais par projet : vos autres sites, applications et bases de données y tournent aussi. Il n’y a pas d’offre gratuite. Les prix sont hors TVA.

### Pourquoi pethost deploy refuse un site VitePress qui définit base ?

Un site construit avec `base` fixé à un chemin comme `/docs/` cherche ses styles et ses scripts sous ce chemin. Sur Pethost, un site est à la racine de sa propre adresse : pethost n’écrit donc pas de Dockerfile pour lui, et le dit. Mettez `base` à `"/"` et redéployez.

Les écrans sont des déploiements du site qu’écrit `vitepress init`, avec VitePress 1.6.4 et pethost 0.2.1, sur une de nos machines de test. Le compte qu’on y voit est celui de l’exemple, `sam`.

1. [VitePress : bien démarrer](https://vitepress.dev/guide/getting-started)
2. [VitePress : déployer votre site](https://vitepress.dev/guide/deploy)
3. [pethost, la ligne de commande de Pethost](https://github.com/pethost-dev/cli#readme)

## 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.

[Tout héberger pour 9,99 €/mois](https://console.pethost.dev/)

## Continuer la lecture

- 10 octobre 2026 [Comment déployer un site Eleventy en 2026 : une commande, HTTPS et un Dockerfile qui reste à vous](https://pethost.dev/fr/blog/deploy-eleventy-site/) Déployez un site Eleventy (11ty) en une commande : pethost deploy écrit le Dockerfile, construit _site et le sert en HTTPS, pour 9,99 € par mois.
- 25 septembre 2026 [Hébergeurs avec un serveur MCP officiel en 2026 : déploiement, logs et rollback comparés](https://pethost.dev/fr/blog/hosting-with-mcp-server/) En 2026, 18 hébergeurs sur 19 ont un serveur MCP officiel, deux un outil de rollback. Celui de Pethost déploie, lit les logs, revient en arrière et restaure.
- 16 septembre 2026 [Hébergement pour agents de code IA en 2026 : laissez Claude Code ou Codex déployer et déboguer la production](https://pethost.dev/fr/blog/hosting-for-ai-coding-agents/) Pour que Claude Code ou Codex déploie et débogue la production seul, un hébergeur doit donner cinq choses à l’agent. Pethost le fait, dès 9,99 €/mois.
- 27 septembre 2026 [Hébergement européen avec Postgres à prix fixe en 2026 : ce que 10 € par mois vous offrent](https://pethost.dev/fr/blog/european-hosting-postgres-flat-price/) Une appli avec Postgres dans l’UE à prix mensuel fixe : 9,99 € sur Pethost, 3 GB pour tous les projets qui tiennent. Onze hébergeurs comparés.

[Tous les articles](https://pethost.dev/fr/blog/) · [À propos de Pethost](https://pethost.dev/about/) · [Tarifs](https://pethost.dev/fr/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Templates](https://pethost.dev/fr/templates/)
- [À propos](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/fr/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Conditions](https://pethost.dev/terms/)
- [Confidentialité](https://pethost.dev/privacy/)
- [Remboursements](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bases de données

- [Postgres](https://pethost.dev/fr/postgres/)

Comparatifs

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/fr/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/fr/blog/coolify-cloud-vs-dokploy-cloud/)
- [Tarifs Railway vs Render vs Fly.io](https://pethost.dev/fr/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hébergement Docker Compose managé](https://pethost.dev/fr/blog/managed-docker-compose-hosting/)

Alternatives

- [Alternatives à Railway](https://pethost.dev/fr/blog/railway-alternatives/)
- [Alternatives à Heroku](https://pethost.dev/fr/blog/heroku-alternatives/)
- [Alternatives à Dokploy](https://pethost.dev/fr/blog/dokploy-alternatives/)
- [Alternatives à Coolify](https://pethost.dev/fr/blog/coolify-alternatives/)
- [Alternatives à Render](https://pethost.dev/fr/blog/render-alternatives/)
- [Alternatives à Sliplane](https://pethost.dev/fr/blog/sliplane-alternatives/)
