---
title: "So deployst du eine Eleventy-Website 2026"
description: "Eine Eleventy-Website (11ty) mit einem Befehl deployen: pethost deploy schreibt das Dockerfile, baut _site und liefert es per HTTPS aus, für 9,99 € im Monat."
---

[Blog](https://pethost.dev/de/blog/) · Deploy-Anleitungen

# So deployst du eine Eleventy-Website 2026: ein Befehl, HTTPS und ein Dockerfile, das bleibt

Vom Pethost-Team · 10. Oktober 2026 · Aktualisiert 25. Oktober 2026 · 8 Min. Lesezeit

Du hast eine Eleventy-Website, die auf deinem Laptop baut, und willst sie online haben, unter einer Adresse mit HTTPS. Bei Pethost ist das ein Befehl, `pethost deploy`, ausgeführt im Ordner mit der `package.json`. Er schreibt das Dockerfile für dich, führt dein Build-Skript aus und liefert `_site` aus. Eine kleine Website, angelegt wie in den ersten Schritten von Eleventy, war beim ersten Mal in 24 s gebaut und gestartet.

**Kurz gesagt**

- **Ein Skript:** `"build": "npx @11ty/eleventy"` in der `package.json`, wie es die Deployment-Seite von Eleventy selbst empfiehlt.
- **Ein Befehl:** `pethost deploy` im Ordner mit der `package.json`. Er schreibt ein Dockerfile, das das Skript ausführt und `_site` ausliefert.
- **Saubere Adressen funktionieren:** `/about/` antwortet mit 200, `/about` führt dorthin, und eine Adresse ohne Seite antwortet mit 404.
- **Die Adresse:** `https://my-site.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 Website und jedes andere Projekt, das du hast. Einen Free Tier gibt es nicht.

## Was du brauchst, um eine Eleventy-Website 2026 zu deployen

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

**Die Website** ist hier so angelegt wie in den ersten Schritten von Eleventy, mit zwei Markdown-Seiten:

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

Füg das Build-Skript hinzu. Die Deployment-Seite von Eleventy empfiehlt es für jeden Hosting-Anbieter, der die Website für dich baut, und daran erkennt pethost, dass das eine Eleventy-Website ist, die mit einem Befehl gebaut wird:

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

**Der Befehl** ist ein Programm, installiert mit einer Zeile. Alle seine Befehle stehen in der [Referenz der CLI](https://pethost.dev/docs/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 Eleventy-Website mit einem Befehl deployen

Geh in den Ordner mit der `package.json` und führ `pethost deploy` aus. Das ist die ganze Ausgabe für die Website oben:

```
$ 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. **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** Der Ordner geht direkt an deine Maschine, ohne `node_modules`. 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 `@11ty/eleventy` in der `package.json` gesehen und ein Skript, das es ausführt, und lädt den Ordner erneut hoch.
4. **Die Maschine baut und startet es** Dann ruft pethost die Adresse selbst auf und gibt aus, was sie geantwortet hat: 200.

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 Eleventy schreibt

Das ist die Datei, wie sie in den Ordner der Website geschrieben wurde, vollständig:

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

Die ersten Zeilen sagen, was pethost in deinem Ordner gelesen hat. Drei Dinge kommen von dort:

- **Der Build** ist dein Skript, ausgeführt mit `npm run build`. Was das Skript neben Eleventy tut, etwa einen CSS-Schritt, läuft mit.
- **Der Paketmanager** ist der, den dein Lockfile nennt: npm, pnpm, Yarn oder Bun.
- **Die Node-Version** ist die, die `.nvmrc` oder `.node-version` nennt, und Node 24, wo es keine von beiden gibt.

Die zweite Hälfte ist ein kleiner Webserver für `_site`, den Standard-Ausgabeordner von Eleventy. 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.

### Funktionieren die sauberen Adressen von Eleventy?

Eleventy schreibt `about.md` nach `_site/about/index.html`, also ist die Adresse der Seite `/about/`. Wir haben die deployte Website gefragt, was ein Browser beim Besuch fragt:

**Was die deployte Eleventy-Website geantwortet hat**

| Adresse | Antwort |
| --- | --- |
| `/` | 200, die Startseite |
| `/about/` | 200, die Seite |
| `/about` | 308, eine Weiterleitung auf `/about/` |
| `/nothing` | 404 |

Hat deine Website eine `404.html` im Wurzelverzeichnis von `_site`, zeigt eine Adresse ohne Seite sie an.

## Eine Seite ändern und neu deployen

Bearbeite eine Seite und führ denselben Befehl aus. Der zweite Deploy dauerte 4 s, weil die Maschine die Layer des Builds und den Cache von npm behält:

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

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

```
pethost github sam/my-site          # 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](https://pethost.dev/de/blog/hosting-for-ai-coding-agents/). Derselbe Befehl deployt eine [VitePress-Website](https://pethost.dev/de/blog/deploy-vitepress-site/).

## Eine eigene Domain für die Website 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 www.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. `pethost password` stellt eine Passwortseite vor die ganze Website, für eine, die noch nicht öffentlich ist.

## 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. Eine gebaute Eleventy-Website sind Dateien hinter einem kleinen Webserver, also hat die Maschine Platz für das Backend eines Kontaktformulars, eine Datenbank und deine anderen Projekte. Es gibt [keine Gebühr pro Projekt](https://pethost.dev/de/blog/unlimited-projects-flat-monthly-fee/) und nichts nach Verbrauch: Die zweite Website kostet nichts extra, und ein Monat, in dem viele lesen, auch nicht.

- **9,99 €** im Monat für alle deine Projekte, nichts nach Verbrauch
- **24 s** zum Bauen und Starten der Website, beim ersten Mal
- **4 s** für den Deploy danach

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. Das Panel zeigt die meistaufgerufenen Pfade der letzten 30 Tage, bei einem Blog die Liste der Beiträge, die wirklich gelesen werden. Die Maschine läuft immer, also wartet eine Seite [nie auf einen Cold Start](https://pethost.dev/de/blog/always-on-hosting-no-cold-starts/). Die Tarife stehen im Abschnitt [Preise](https://pethost.dev/de/#pricing) der Startseite.

**Welche Seiten gelesen werden.** Die zehn meistaufgerufenen Pfade eines Projekts mit Anteil und Antwortzeiten, und das Log der einzelnen Requests.

![Das Pethost-Panel: die zehn meistaufgerufenen Pfade eines Projekts mit Anteil, Anzahl und Antwortzeiten, und das Log der einzelnen Requests.](https://pethost.dev/shots/traffic.webp)

### Pethost ist die beste Wahl für

- **alle mit einem Blog und noch mehr**: die Eleventy-Website, eine App und eine Datenbank auf einer Maschine, auf einer Rechnung
- **alle, die allein entwickeln**, mit mehreren Side Projects, jedes mit einer eigenen Website
- **alle, deren Agent für sie deployt**: Claude Code oder Codex bringt die Website online und liest ihre Logs
- **kleine Teams**, die eine Website bis zum Launch hinter einer Passwortseite halten wollen

### Schau dich anderswo um, wenn

- deine Anwendung mehrere Regionen oder Autoscaling braucht

## Fragen

### Braucht eine Eleventy-Website 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 eine Eleventy-Website und deployt sie. Die Datei bleibt in deinem Ordner, und du kannst sie ändern.

### Welchen Build-Befehl nutzt ein Eleventy-Deploy?

Dein eigenes Skript `build` aus der `package.json`, zum Beispiel `"build": "npx @11ty/eleventy"`. Das Dockerfile führt `npm run build` aus und liefert `_site` aus, den Standard-Ausgabeordner von Eleventy.

### Warum hat pethost deploy kein Dockerfile für meine Eleventy-Website geschrieben?

Es schreibt eins, wenn die `package.json` `@11ty/eleventy` enthält und ein Skript, das es ausführt. Füg `"build": "npx @11ty/eleventy"` zu den Skripten hinzu und führ den Befehl erneut aus.

### Kann ich eine Eleventy-Website bei jedem Push von GitHub deployen?

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

### Wie nutze ich eine eigene Domain mit HTTPS für eine Eleventy-Website?

Führ `pethost domain add www.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 Eleventy-Website 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 Websites, Apps und Datenbanken laufen dort auch. Einen Free Tier gibt es nicht. Die Preise verstehen sich zzgl. MwSt.

Die Ausgaben stammen von Deploys einer Website mit zwei Seiten, angelegt wie in den ersten Schritten von Eleventy, mit Eleventy 3.1.6 und pethost 0.2.1, auf einer Testmaschine von uns, die vorher nichts gebaut hatte. Das Konto darin ist das Beispielkonto, `sam`.

1. [Eleventy: Erste Schritte](https://www.11ty.dev/docs/)
2. [Eleventy: Deployment und Hosting](https://www.11ty.dev/docs/deployment/)
3. [pethost, die Kommandozeile von Pethost](https://pethost.dev/docs/cli/)

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

## Weiterlesen

- 25. September 2026 [Hosting-Anbieter mit offiziellem MCP-Server 2026: Deploy, Logs und Rollback im Vergleich](https://pethost.dev/de/blog/hosting-with-mcp-server/) 18 von 19 Hostern haben 2026 einen offiziellen MCP-Server, zwei ein Rollback-Tool. Pethosts Tools deployen, lesen Logs, rollen zurück und stellen wieder her.
- 16. September 2026 [Hosting für KI-Coding-Agenten 2026: Claude Code oder Codex selbst in Produktion deployen und debuggen lassen](https://pethost.dev/de/blog/hosting-for-ai-coding-agents/) Damit Claude Code oder Codex allein in Produktion deployen und debuggen, muss das Hosting dem Agenten fünf Dinge geben. Pethost tut das, ab 9,99 € im Monat.
- 27. September 2026 [Europäisches Hosting mit Postgres zum Festpreis 2026: was 10 € im Monat bringen](https://pethost.dev/de/blog/european-hosting-postgres-flat-price/) Eine App mit Postgres in der EU zum festen Monatspreis kostet bei Pethost 9,99 €: 3 GB für jedes Projekt, das draufpasst. Elf Anbieter im Preisvergleich.
- 21. September 2026 [Hosting für unbegrenzt viele Projekte zum Festpreis 2026: ein Preis für die Kapazität, nicht pro App](https://pethost.dev/de/blog/unlimited-projects-flat-monthly-fee/) Hosting nach Kapazität: so viele Projekte, wie draufpassen, zum festen Monatspreis. Sechs kleine Apps: 9,99 € bei Pethost, 30 $ bei Railway, 42 $ bei Render.

[Alle Artikel](https://pethost.dev/de/blog/) · [Über Pethost](https://pethost.dev/about/) · [Preise](https://pethost.dev/de/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Vorlagen](https://pethost.dev/de/templates/)
- [Über uns](https://pethost.dev/about/)
- [Doku](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/de/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [AGB](https://pethost.dev/terms/)
- [Datenschutz](https://pethost.dev/privacy/)
- [Erstattung](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Datenbanken

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

Vergleiche

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/de/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/de/blog/coolify-cloud-vs-dokploy-cloud/)
- [Railway vs Render vs Fly.io Preise](https://pethost.dev/de/blog/railway-vs-render-vs-fly-io-pricing/)
- [Managed Hosting für Docker Compose](https://pethost.dev/de/blog/managed-docker-compose-hosting/)

Alternativen

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