---
title: "Jak wdrożyć stronę VitePress w 2026"
description: "Wdróż stronę VitePress jednym poleceniem: pethost deploy pisze Dockerfile, buduje stronę i serwuje ją przez HTTPS za 9,99 € miesięcznie."
---

[Blog](https://pethost.dev/pl/blog/) · Poradniki wdrożeń

# Jak wdrożyć stronę VitePress w 2026: jedno polecenie, HTTPS i Dockerfile, który zostaje u ciebie

Zespół Pethost · 10 października 2026 · Zaktualizowano 25 października 2026 · 7 min czytania

Masz stronę w VitePress, która buduje się na twoim laptopie, i chcesz ją mieć online pod adresem z HTTPS. Na Pethost to jedno polecenie, `pethost deploy`, uruchomione w katalogu z `package.json`. Samo pisze za ciebie Dockerfile, buduje stronę i wypisuje jej adres. Startowa strona VitePress za pierwszym razem zbudowała się i uruchomiła w 43 sekundy.

**W skrócie**

- **Jedno polecenie:** `pethost deploy` w katalogu z `package.json`. Nie ma pliku konfiguracyjnego do napisania ani ustawień builda do wypełnienia.
- **Co robi:** znajduje skrypt, który uruchamia `vitepress build`, pisze Dockerfile, który go uruchamia, i serwuje `docs/.vitepress/dist`.
- **Adres:** `https://my-docs.yourname.pethost.app`, od razu z HTTPS. Twoja własna domena to jeden rekord DNS.
- **Dockerfile jest twój:** zostaje w katalogu, możesz go trzymać i zmieniać, a pethost nigdy więcej go nie nadpisze.
- **Cena:** 9,99 € miesięcznie za 2 vCPU, 3 GB i 30 GB, na tę stronę i każdy inny twój projekt. Nie ma darmowego planu.

## Czego potrzebujesz, żeby wdrożyć stronę VitePress w 2026

Trzech rzeczy: strony, polecenia `pethost` i konta Pethost.

**Strona** to katalog w takim stanie, w jakim zostawiają go pierwsze kroki VitePress: `npm add -D vitepress`, a potem `npx vitepress init`. Kreator wkłada podstrony do `docs/`, a do `package.json` trzy skrypty:

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

**Polecenie** to jeden program, instalowany jedną linią:

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

**Konto** potrzebuje planu. Jeśli nie jesteś zalogowany, `pethost deploy` otwiera przeglądarkę i cię loguje. Jeśli nie masz jeszcze planu, pokazuje, gdzie go wybrać, i czeka.

## Wdróż stronę VitePress jednym poleceniem

Przejdź do katalogu z `package.json` i uruchom `pethost deploy`. Oto cały ekran dla strony startowej, którą pisze `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. **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** Katalog trafia prosto na twoją maszynę, bez `node_modules`. 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ł `vitepress` w `package.json` i skrypt, który uruchamia `vitepress build`, więc wgrywa katalog jeszcze raz.
4. **Maszyna buduje i uruchamia projekt** Potem pethost sam odpytuje adres i wypisuje, co ten odpowiedział: 200.

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 VitePress

Oto cały plik, tak jak trafił do katalogu strony startowej:

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

Jego pierwsze linie mówią, co pethost przeczytał w twoim katalogu. Stamtąd biorą się trzy rzeczy:

- **Menedżer pakietów** to ten, który wskazuje twój lockfile: npm, pnpm, Yarn albo Bun.
- **Wersja Node** to ta, którą podaje `.nvmrc` albo `.node-version`, a gdy nie ma żadnego z nich, Node 24.
- **Katalog do serwowania** wynika ze skryptu: `vitepress build ./docs` zapisuje `docs/.vitepress/dist`, a samo `vitepress build` zapisuje `.vitepress/dist`.

Druga połowa to mały serwer WWW dla zbudowanych podstron. Zapytaliśmy wdrożoną stronę startową o to, o co pyta odwiedzający. Strona główna, `/markdown-examples` i `/markdown-examples.html` odpowiedziały 200, a adres, pod którym nie ma podstrony, odpowiedział 404 z własną stroną „404” VitePress.

Dwie kolejne rzeczy chronią cię przed złym plikiem. 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. A jeśli twoja konfiguracja ustawia `base` na ścieżkę taką jak `/docs/`, pethost niczego nie pisze i mówi dlaczego: na Pethost strona stoi w katalogu głównym własnego adresu, więc ustaw `base` na `"/"` i wdróż ponownie.

## Zmień podstronę i wdróż ponownie

Zmień podstronę i uruchom to samo polecenie. Drugie wdrożenie strony startowej zajęło 4 sekundy, bo maszyna przechowuje warstwy builda:

```
$ 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
```

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

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

## Użyj własnej domeny dla dokumentacji

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 docs.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. `pethost password` stawia stronę z hasłem przed całą witryną, dla dokumentacji, która nie jest jeszcze publiczna.

## 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. Zbudowana strona VitePress to pliki za jednym małym serwerem WWW, więc na maszynie zostaje miejsce na aplikację, którą dokumentacja opisuje, jej bazę danych i twoje inne projekty. Nie ma [opłaty za projekt](https://pethost.dev/pl/blog/unlimited-projects-flat-monthly-fee/) ani żadnych liczników: druga strona nic więcej nie kosztuje.

- **9,99 €** miesięcznie za wszystkie twoje projekty, bez liczników
- **43 s** na zbudowanie i uruchomienie strony startowej za pierwszym razem
- **0** plików do pisania ręcznie

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. Panel pokazuje najczęściej odwiedzane ścieżki z ostatnich 30 dni, a w dokumentacji to lista podstron, które ludzie naprawdę czytają. Maszyna działa cały czas, więc strona [nigdy nie czeka na zimny start](https://pethost.dev/pl/blog/always-on-hosting-no-cold-starts/). Plany są w [cenniku](https://pethost.dev/pl/#pricing) na stronie głównej.

**Które podstrony ludzie czytają.** Dziesięć najczęściej odwiedzanych ścieżek projektu z ich udziałem i czasami odpowiedzi oraz log pojedynczych żądań.

![Panel Pethost: dziesięć najczęściej odwiedzanych ścieżek projektu z udziałem, liczbą i czasami odpowiedzi oraz log pojedynczych żądań.](https://pethost.dev/shots/traffic.webp)

### Pethost to najlepszy wybór dla

- **Programistów, którzy trzymają dokumentację obok aplikacji**: API, jego baza danych i jego strona VitePress na jednej maszynie, na jednym rachunku
- **Programistów solo** z kilkoma projektami pobocznymi, każdym z własną stroną
- **Osób, za które wdraża agent**: Claude Code albo Codex wystawia stronę do sieci i czyta jej logi
- **Małych zespołów**, które do startu chcą trzymać dokumentację za hasłem

### Poszukaj gdzie indziej, jeśli

- Twoja aplikacja potrzebuje kilku regionów albo autoskalowania

## Pytania

### Czy strona VitePress 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 strony VitePress i ją wdraża. Plik zostaje w twoim katalogu i możesz go zmieniać.

### Jakiego menedżera pakietów i jakiej wersji Node używa build VitePress?

Tych, które wskazuje twój katalog. Menedżer pakietów to ten z twojego lockfile’a: npm, pnpm, Yarn albo Bun. Wersja Node to ta z `.nvmrc` albo `.node-version`, a gdy nie ma żadnego z nich, Node 24.

### Czy mogę wdrażać VitePress 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 strony VitePress?

Uruchom `pethost domain add docs.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 strony VitePress na Pethost?

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

### Dlaczego pethost deploy odrzuca stronę VitePress, która ustawia base?

Strona zbudowana z `base` ustawionym na ścieżkę taką jak `/docs/` szuka swoich stylów i skryptów pod tą ścieżką. Na Pethost strona stoi w katalogu głównym własnego adresu, więc pethost nie pisze dla niej Dockerfile i mówi o tym. Ustaw `base` na `"/"` i wdróż ponownie.

Ekrany to wdrożenia strony, którą pisze `vitepress init`, z VitePress 1.6.4 i pethost 0.2.1, na naszej maszynie testowej. Konto na nich to przykładowe `sam`.

1. [VitePress: pierwsze kroki](https://vitepress.dev/guide/getting-started)
2. [VitePress: wdrażanie strony](https://vitepress.dev/guide/deploy)
3. [pethost, narzędzie wiersza poleceń Pethost](https://github.com/pethost-dev/cli#readme)

## 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.](https://console.pethost.dev/)

## Czytaj dalej

- 10 października 2026 [Jak wdrożyć stronę Eleventy w 2026: jedno polecenie, HTTPS i Dockerfile, który zostaje u ciebie](https://pethost.dev/pl/blog/deploy-eleventy-site/) Wdróż stronę Eleventy (11ty) jednym poleceniem: pethost deploy pisze Dockerfile, buduje _site i serwuje ją przez HTTPS za 9,99 € miesięcznie.
- 25 września 2026 [Dostawcy hostingu z oficjalnym serwerem MCP w 2026: wdrożenie, logi i rollback w porównaniu](https://pethost.dev/pl/blog/hosting-with-mcp-server/) W 2026 oficjalny serwer MCP ma 18 z 19 platform hostingowych, a narzędzie do rollbacku dwie. Pethost wdraża, czyta logi, robi rollback i przywraca backup.
- 16 września 2026 [Hosting dla agentów AI do kodowania w 2026: niech Claude Code albo Codex sam wdraża i debuguje produkcję](https://pethost.dev/pl/blog/hosting-for-ai-coding-agents/) Żeby Claude Code albo Codex sam wdrażał i debugował produkcję, hosting musi dać agentowi pięć rzeczy. Pethost je daje, od 9,99 € miesięcznie.
- 27 września 2026 [Hosting w Europie z Postgresem za stałą cenę w 2026: co kupisz za 10 € miesięcznie](https://pethost.dev/pl/blog/european-hosting-postgres-flat-price/) Aplikacja z Postgresem w UE za stałą cenę to na Pethost 9,99 € miesięcznie: 3 GB na wszystkie projekty, które się zmieszczą. Ceny jedenastu dostawców.

[Wszystkie artykuły](https://pethost.dev/pl/blog/) · [O Pethost](https://pethost.dev/about/) · [Cennik](https://pethost.dev/pl/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

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

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

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