---
title: "Como fazer deploy de um site Eleventy em 2026"
description: "Faça o deploy de um site Eleventy (11ty) com um comando: o pethost deploy escreve o Dockerfile, faz o build do _site e o serve com HTTPS, por € 9,99 por mês."
---

[Blog](https://pethost.dev/pt/blog/) · Guias de deploy

# Como fazer deploy de um site Eleventy em 2026: um comando, HTTPS e um Dockerfile que fica com você

Pela equipe da Pethost · 10 de outubro de 2026 · Atualizado em 25 de outubro de 2026 · 9 min de leitura

Você tem um site Eleventy que faz build no seu notebook e quer colocá-lo no ar em um endereço com HTTPS. No Pethost, isso é um comando, `pethost deploy`, rodado na pasta que tem o `package.json`. Ele escreve o Dockerfile para você, roda seu script de build e serve o `_site`. Um site pequeno, feito como os primeiros passos do Eleventy ensinam, teve o build feito e foi iniciado em 24 segundos na primeira vez.

**Em resumo**

- **Um script:** `"build": "npx @11ty/eleventy"` no `package.json`, como a própria página de deploy do Eleventy recomenda.
- **Um comando:** `pethost deploy` na pasta que tem o `package.json`. Ele escreve um Dockerfile que roda o script e serve o `_site`.
- **Endereços limpos funcionam:** `/about/` responde 200, `/about` leva até ele, e um endereço que não é uma página responde 404.
- **O endereço:** `https://my-site.yourname.pethost.app`, com HTTPS na hora. Seu próprio domínio é um registro DNS.
- **O preço:** € 9,99 por mês por 2 vCPU, 3 GB e 30 GB, para este site e todos os seus outros projetos. Não existe plano gratuito.

## O que você precisa para fazer deploy de um site Eleventy em 2026

Três coisas: o site, o comando `pethost` e uma conta no Pethost.

**O site** aqui é feito como os primeiros passos do Eleventy ensinam, com duas páginas em Markdown:

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

Adicione o script de build. A página de deploy do Eleventy o recomenda para todo provedor que faz o build do site para você, e é assim que o pethost sabe que este é um site Eleventy com build feito por um comando:

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

**O comando** é um programa, instalado com uma linha. Todos os comandos dele estão na [referência da 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
```

**A conta** precisa de um plano. Se você não entrou, o `pethost deploy` abre o seu navegador e faz o seu login. Se você ainda não tem um plano, ele mostra onde escolher um e espera.

## Faça o deploy do site Eleventy com um comando

Vá até a pasta que tem o `package.json` e rode `pethost deploy`. Esta é a tela inteira, para o site acima:

```
$ 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. **Ele pergunta uma coisa** O nome do projeto, que é a primeira palavra do endereço. Enter usa o nome da pasta.
2. **A máquina não encontra nada para rodar** A pasta vai direto para a sua máquina, sem o `node_modules`. A linha com o X é a resposta dela: um projeto roda a partir de um Dockerfile ou de um arquivo Compose, e a pasta ainda não tem nenhum dos dois.
3. **O pethost escreve o Dockerfile** Ele viu o `@11ty/eleventy` no `package.json` e um script que o roda, e envia a pasta de novo.
4. **A máquina faz o build e o inicia** Depois o pethost acessa o próprio endereço e mostra o que ele respondeu: 200.

O arquivo `.pethost` diz qual projeto é esta pasta. Faça o commit dele junto com o Dockerfile, e o próximo deploy não pergunta nada.

## O Dockerfile que o pethost escreve para o Eleventy

Este é o arquivo como foi escrito na pasta do site, inteiro:

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

As primeiras linhas dizem o que o pethost leu na sua pasta. Três coisas vêm de lá:

- **O build** é o seu script, rodado com `npm run build`. O que o script faz além do Eleventy, como uma etapa de CSS, roda junto.
- **O gerenciador de pacotes** é o que o seu lockfile indica: npm, pnpm, Yarn ou Bun.
- **A versão do Node** é a que o `.nvmrc` ou o `.node-version` indica, e o Node 24 quando não há nenhum dos dois.

A segunda metade é um pequeno servidor web para o `_site`, a pasta de saída padrão do Eleventy. Se a máquina não consegue fazer o build ou iniciar o Dockerfile que o pethost escreveu, o pethost tira o arquivo da sua pasta e diz o que falhou.

### Os endereços limpos do Eleventy funcionam?

O Eleventy escreve o `about.md` em `_site/about/index.html`, então o endereço da página é `/about/`. Perguntamos ao site no ar o que um visitante pergunta:

**O que o site Eleventy no ar respondeu**

| Endereço | Resposta |
| --- | --- |
| `/` | 200, a página inicial |
| `/about/` | 200, a página |
| `/about` | 308, um redirecionamento para `/about/` |
| `/nothing` | 404 |

Se o seu site tem um `404.html` na raiz do `_site`, um endereço que não é uma página mostra esse arquivo.

## Altere uma página e faça o deploy de novo

Edite uma página e rode o mesmo comando. O segundo deploy levou 4 segundos, porque a máquina guarda as camadas do build e o cache do 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
```

Para fazer o build e o deploy a cada push, conecte o repositório uma vez:

```
pethost github sam/my-site          # from now on, every push deploys itself
```

O Pethost lê só os repositórios que você deu ao GitHub App dele. Se um deploy der errado, `pethost rollback` coloca de volta a versão anterior, e a sua máquina guarda as três versões antes da atual. Um agente de IA pode fazer tudo isso por você pelo servidor MCP do Pethost: [como um agente faz o deploy de um projeto e cuida dele](https://pethost.dev/pt/blog/hosting-for-ai-coding-agents/). O mesmo comando faz o deploy de um [site VitePress](https://pethost.dev/pt/blog/deploy-vitepress-site/).

## Use seu próprio domínio no site

Qualquer nome sob o domínio da sua conta já é um endereço na hora, com HTTPS. Um domínio seu leva um comando e um registro DNS:

```
pethost domain add www.example.com
```

O comando mostra o registro a criar: um CNAME do seu nome para o nome da sua máquina. O certificado chega sozinho assim que o nome resolve, e se renova sozinho. `pethost password` coloca uma página de senha na frente do site inteiro, para um site que ainda não é público.

## O que você recebe pelo preço

O Pethost custa € 9,99 por mês por tudo o que você hospeda, com 2 vCPU, 3 GB de memória e 30 GB de disco. Um site Eleventy depois do build são arquivos atrás de um pequeno servidor web, então a máquina tem espaço para o backend de um formulário de contato, um banco de dados e os seus outros projetos. Não há [taxa por projeto](https://pethost.dev/pt/blog/unlimited-projects-flat-monthly-fee/) e nada é medido: o segundo site não custa nada a mais, e um mês com muitos leitores também não.

- **€ 9,99** por mês por todos os seus projetos, nada medido
- **24s** para fazer o build e iniciar o site, na primeira vez
- **4s** para o deploy seguinte

O que já vem feito para você: HTTPS com certificados que se renovam sozinhos, deploys a partir do GitHub, backups noturnos guardados por 14 dias, SSH em qualquer container, e cada requisição contada. O painel mostra os caminhos mais acessados dos últimos 30 dias, que, para um blog, é a lista dos posts que as pessoas leem de verdade. A máquina está sempre ligada, então uma página [nunca espera um cold start](https://pethost.dev/pt/blog/always-on-hosting-no-cold-starts/). Os planos estão na parte de [preços](https://pethost.dev/pt/#pricing) da página inicial.

**Quais páginas as pessoas leem.** Os dez caminhos mais acessados de um projeto, com sua fatia e tempos de resposta, e o log de requisições individuais.

![O painel do Pethost: os dez caminhos mais acessados de um projeto, com fatia, contagem e tempos de resposta, e o log de requisições individuais.](https://pethost.dev/shots/traffic.webp)

### O Pethost é a melhor escolha para

- **Quem tem um blog e algo mais**: o site Eleventy, um app e um banco de dados em uma máquina, em uma só fatura
- **Desenvolvedores solo** com vários projetos paralelos, cada um com seu próprio site
- **Quem deixa o agente fazer o deploy**: o Claude Code ou o Codex coloca o site no ar e lê os logs dele
- **Equipes pequenas** que querem um site atrás de uma página de senha até o lançamento

### Procure outra opção se

- Sua aplicação precisa de várias regiões ou de autoscaling

## Perguntas

### Um site Eleventy precisa de Dockerfile para fazer deploy?

No Pethost, um projeto roda a partir de um Dockerfile ou de um arquivo Compose, e você não precisa escrevê-lo: em uma pasta que não tem nenhum dos dois, o `pethost deploy` escreve o Dockerfile de um site Eleventy e faz o deploy. O arquivo fica na sua pasta, e você pode alterá-lo.

### Qual comando de build o deploy do Eleventy usa?

O seu próprio script `build` do `package.json`, por exemplo `"build": "npx @11ty/eleventy"`. O Dockerfile roda `npm run build` e serve o `_site`, a pasta de saída padrão do Eleventy.

### Por que o pethost deploy não escreveu um Dockerfile para o meu site Eleventy?

Ele escreve um quando o `package.json` tem o `@11ty/eleventy` e um script que o roda. Adicione `"build": "npx @11ty/eleventy"` aos scripts e rode o comando de novo.

### Dá para fazer deploy de um site Eleventy do GitHub a cada push?

Sim. Faça o deploy da pasta uma vez com `pethost deploy` e depois rode `pethost github owner/repository`. A partir daí, cada push no repositório faz o build e o deploy sozinho, e `pethost rollback` volta para um commit anterior.

### Como usar um domínio próprio com HTTPS em um site Eleventy?

Rode `pethost domain add www.example.com` e crie o único registro DNS que ele mostra, um CNAME para o nome da sua máquina. O certificado chega sozinho assim que o nome resolve, e se renova sozinho.

### Quanto custa hospedar um site Eleventy no Pethost?

€ 9,99 por mês no Starter, com 2 vCPU, 3 GB e 30 GB e sem taxa por projeto: seus outros sites, apps e bancos de dados também rodam lá. Não existe plano gratuito. Os preços são sem IVA.

As telas são deploys de um site de duas páginas feito como os primeiros passos do Eleventy ensinam, com o Eleventy 3.1.6 e o pethost 0.2.1, em uma máquina de teste nossa que nunca tinha feito build de nada. A conta nelas é a de exemplo, `sam`.

1. [Eleventy: primeiros passos](https://www.11ty.dev/docs/)
2. [Eleventy: deploy e hospedagem](https://www.11ty.dev/docs/deployment/)
3. [pethost, a linha de comando do Pethost](https://pethost.dev/docs/cli/)

## Coloque seus projetos no ar hoje

Publique apps, bots e bancos de dados pelo seu agente, pelo GitHub ou pelo navegador, quantos couberem, a um preço fixo. Nada medido, nada cobrado à parte.

[Hospede tudo por € 9,99/mês](https://console.pethost.dev/)

## Continue lendo

- 25 de setembro de 2026 [Provedores de hospedagem com servidor MCP oficial em 2026: deploy, logs e rollback comparados](https://pethost.dev/pt/blog/hosting-with-mcp-server/) 18 de 19 plataformas de hospedagem têm servidor MCP oficial em 2026, e duas têm ferramenta de rollback. As do Pethost fazem deploy, leem logs e restauram.
- 16 de setembro de 2026 [Hospedagem para agentes de código com IA em 2026: deixe o Claude Code ou o Codex fazer deploy e debug em produção](https://pethost.dev/pt/blog/hosting-for-ai-coding-agents/) Para o Claude Code ou o Codex fazerem deploy e debug em produção sozinhos, a hospedagem precisa dar cinco coisas ao agente. O Pethost dá, por € 9,99 por mês.
- 27 de setembro de 2026 [Hospedagem europeia com Postgres a preço fixo em 2026: o que € 10 por mês compram](https://pethost.dev/pt/blog/european-hosting-postgres-flat-price/) Um app com Postgres na UE a preço mensal fixo custa € 9,99 no Pethost: 3 GB para todo projeto que couber. Onze provedores, com preços.
- 21 de setembro de 2026 [Hospedagem de projetos ilimitados por preço fixo em 2026: um preço pela capacidade, não por app](https://pethost.dev/pt/blog/unlimited-projects-flat-monthly-fee/) Hospedagem paga pela capacidade roda quantos projetos couberem por um preço fixo mensal. Seis apps pequenos: € 9,99 no Pethost, $ 30 na Railway, $ 42 na Render.

[Todos os artigos](https://pethost.dev/pt/blog/) · [Sobre a Pethost](https://pethost.dev/about/) · [Preços](https://pethost.dev/pt/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Templates](https://pethost.dev/pt/templates/)
- [Sobre nós](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pt/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Termos](https://pethost.dev/terms/)
- [Privacidade](https://pethost.dev/privacy/)
- [Reembolsos](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bancos de dados

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

Comparativos

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pt/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pt/blog/coolify-cloud-vs-dokploy-cloud/)
- [Preços Railway vs Render vs Fly.io](https://pethost.dev/pt/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hospedagem gerenciada de Docker Compose](https://pethost.dev/pt/blog/managed-docker-compose-hosting/)

Alternativas

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