Polski

Blog · Poradniki wdrożeń

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

Zespół Pethost · · Zaktualizowano · 8 min czytania

Masz stronę w Eleventy, 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, uruchamia twój skrypt build i serwuje _site. Mała strona zrobiona tak, jak robią ją pierwsze kroki Eleventy, za pierwszym razem zbudowała się i uruchomiła w 24 sekundy.

W skrócie
  • Jeden skrypt: "build": "npx @11ty/eleventy" w package.json, tak jak radzi strona Eleventy o wdrażaniu.
  • Jedno polecenie: pethost deploy w katalogu z package.json. Pisze Dockerfile, który uruchamia skrypt i serwuje _site.
  • Czyste adresy działają: /about/ odpowiada 200, /about do niego prowadzi, a adres, pod którym nie ma podstrony, odpowiada 404.
  • Adres: https://my-site.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ę stronę i każdy inny twój projekt. Nie ma darmowego planu.

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

Trzech rzeczy: strony, polecenia pethost i konta Pethost.

Strona jest tu zrobiona tak, jak robią ją pierwsze kroki Eleventy, z dwiema podstronami w Markdownie:

mkdir my-site && cd my-site
npm init -y
npm pkg set type="module"
npm install @11ty/eleventy
echo '# Heading' > index.md
echo '# About' > about.md

Dodaj skrypt build. Strona Eleventy o wdrażaniu radzi go przy każdym hostingu, który buduje stronę za ciebie, i po nim pethost poznaje, że to strona Eleventy budowana poleceniem:

"scripts": {
  "build": "npx @11ty/eleventy"
}

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óż stronę Eleventy jednym poleceniem

Przejdź do katalogu z package.json i uruchom pethost deploy. Oto cały ekran dla strony powyżej:

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

https://my-site.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ł @11ty/eleventy w package.json i skrypt, który go uruchamia, 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 Eleventy

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

# Written by pethost deploy for this Eleventy site: package.json builds it with "npx
# @11ty/eleventy", which writes _site, 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 build

# The site is files: Caddy serves them on port 80.
FROM caddy:2
COPY --from=build /app/_site /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:

Druga połowa to mały serwer WWW dla _site, domyślnego katalogu wyjściowego Eleventy. 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.

Czy czyste adresy Eleventy działają?

Eleventy zapisuje about.md jako _site/about/index.html, więc adres tej podstrony to /about/. Zapytaliśmy wdrożoną stronę o to, o co pyta odwiedzający:

Co odpowiedziała wdrożona strona Eleventy
AdresOdpowiedź
/200, strona główna
/about/200, podstrona
/about308, przekierowanie na /about/
/nothing404

Jeśli twoja strona ma 404.html w katalogu głównym _site, adres, pod którym nie ma podstrony, pokazuje właśnie ją.

Zmień podstronę i wdróż ponownie

Zmień treść podstrony i uruchom to samo polecenie. Drugie wdrożenie zajęło 4 sekundy, bo maszyna przechowuje warstwy builda i cache npm:

$ pethost deploy
my-site (.pethost)
✓ Packed 7 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-site.sam.pethost.app

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

pethost github sam/my-site          # 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 stronę VitePress.

Użyj własnej domeny dla strony

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 www.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ą, gdy ta 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 Eleventy to pliki za jednym małym serwerem WWW, więc na maszynie zostaje miejsce na backend formularza kontaktowego, bazę danych i twoje inne projekty. Nie ma opłaty za projekt ani żadnych liczników: druga strona nic więcej nie kosztuje, tak samo jak miesiąc z wieloma czytelnikami.

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 blogu to lista wpisów, które ludzie naprawdę czytają. Maszyna działa cały czas, więc strona nigdy nie czeka na zimny start. Plany są w cenniku 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ń.

Pethost to najlepszy wybór dla

  • Osób z blogiem i czymś więcej: strona Eleventy, aplikacja i baza danych 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ć stronę za hasłem

Poszukaj gdzie indziej, jeśli

  • Twoja aplikacja potrzebuje kilku regionów albo autoskalowania

Pytania

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

Jakiego polecenia build używa wdrożenie Eleventy?

Twojego własnego skryptu build z package.json, na przykład "build": "npx @11ty/eleventy". Dockerfile uruchamia npm run build i serwuje _site, domyślny katalog wyjściowy Eleventy.

Dlaczego pethost deploy nie napisał Dockerfile dla mojej strony Eleventy?

Pisze go, gdy package.json ma @11ty/eleventy i skrypt, który go uruchamia. Dodaj "build": "npx @11ty/eleventy" do skryptów i uruchom polecenie jeszcze raz.

Czy mogę wdrażać stronę Eleventy 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ę buduje i wdraża, a pethost rollback wraca do wcześniejszego commita.

Jak podpiąć własną domenę z HTTPS do strony Eleventy?

Uruchom pethost domain add www.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 Eleventy 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.

Ekrany to wdrożenia dwustronicowej strony zrobionej tak, jak robią ją pierwsze kroki Eleventy, z Eleventy 3.1.6 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. Eleventy: pierwsze kroki
  2. Eleventy: wdrażanie i hosting
  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.