---
title: "Как задеплоить сайт на Jekyll в 2026"
description: "Деплой сайта на Jekyll с коротким Dockerfile и одной командой: Ruby запускает jekyll build, Caddy отдает _site по HTTPS — за 9,99 € в месяц."
---

[Блог](https://pethost.dev/ru/blog/) · Гайды по деплою

# Как задеплоить сайт на Jekyll в 2026: Dockerfile, одна команда и HTTPS

Команда Pethost · 25 октября 2026 г. · 9 мин чтения

У вас есть сайт на Jekyll, который собирается на ноутбуке командой `bundle exec jekyll build`, и вы хотите выложить его по адресу с HTTPS. На Pethost для этого нужны Dockerfile на 38 строк, который вы скопируете с этой страницы, и одна команда, `pethost deploy`. Сайт, который создает `jekyll new`, в первый раз оказался в сети через 34 секунды, а после изменения — через 3 секунды.

**Коротко**

- **Один файл:** Dockerfile из двух этапов. Ruby 4.0 запускает `bundle install` и `JEKYLL_ENV=production bundle exec jekyll build`, затем Caddy отдает `_site`.
- **Одна команда:** `pethost deploy` в папке, где лежит `_config.yml`. 34 с в первый раз, 3 с на следующий деплой.
- **Адреса Jekyll работают:** `/about/` отвечает 200, `/about` ведет на него, пост открывается и с `.html`, и без, а по адресу, где нет страницы, показывается собственный `404.html` сайта.
- **Адрес:** `https://my-site.yourname.pethost.app`, сразу с HTTPS. Свой домен — одна DNS-запись.
- **Цена:** 9,99 € в месяц за 2 vCPU, 3 GB и 30 GB — для этого сайта и всех остальных ваших проектов. Бесплатного тарифа нет.

## Что нужно, чтобы задеплоить сайт на Jekyll в 2026 году

Три вещи: сам сайт, команда `pethost` и аккаунт Pethost.

**Сайт** здесь — тот, что создают первые шаги Jekyll. Jekyll требует Ruby 2.7.0 или новее; мы создали сайт на Ruby 4.0.9:

```
gem install jekyll bundler
jekyll new my-site
cd my-site
```

`jekyll new` пишет `Gemfile` с Jekyll 4.4.1, темой minima и плагином jekyll-feed, запускает `bundle install`, который пишет `Gemfile.lock`, и добавляет главную страницу, страницу «О сайте», приветственный пост, `404.html` и `.gitignore`, который не пускает в репозиторий `_site`. Сохраните `Gemfile.lock`: сборка ставит ровно те гемы, которые в нем указаны.

**Команда** — это одна программа, которая ставится одной строкой. Все ее команды есть в [справочнике 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
```

**Аккаунту** нужен тариф. Если вы не вошли, `pethost deploy` откроет браузер, и вы войдете. Если тарифа еще нет, команда покажет, где его выбрать, и подождет.

## Почему сайту на Jekyll нужен Dockerfile на Pethost

Проект на Pethost запускается из Dockerfile или Compose-файла. Для тех видов проектов, которые pethost знает, например для [сайта на Eleventy](https://pethost.dev/ru/blog/deploy-eleventy-site/), `pethost deploy` пишет Dockerfile сам. Jekyll среди них нет, поэтому в папке, которую создал `jekyll new`, деплой останавливается на ответе машины. Вот весь экран:

```
$ pethost deploy
Name it [my-site]:              it will live at https://my-site.sam.pethost.app
✓ Packed 8 files, 17 KB
✓ Uploaded straight to your machine
✗ /compose.yaml: the project directory has no compose.yaml at its root: add one
  Your coding agent writes one in a minute: "Write a Dockerfile for this app".
  Then run pethost deploy again.     How Pethost runs a folder: https://pethost.dev/docs/api/#CreateProject
```

Ничего не создано: ни проекта, ни адреса. Добавьте файл ниже и запустите ту же команду.

## Dockerfile для сайта на Jekyll

Сохраните его как `Dockerfile` в папке, где лежит `_config.yml`. Это файл целиком:

```
# Jekyll builds the site into _site, and Caddy serves it.
FROM ruby:4.0 AS build
WORKDIR /site

# The gems first: a change to a page does not install them again.
COPY Gemfile Gemfile.lock ./
RUN bundle install

COPY . .
RUN JEKYLL_ENV=production bundle exec jekyll build

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

Первый этап собирает сайт так же, как вы собираете его на ноутбуке:

- **`ruby:4.0`** — полный образ Ruby, с компилятором C. Некоторые гемы Jekyll, например eventmachine и bigdecimal, при установке компилируются: на `ruby:4.0-slim`, где компилятора нет, `bundle install` упал. Если ваш сайт закрепляет версию Ruby в `.ruby-version`, укажите здесь ту же.
- **Сначала гемы.** `Gemfile` и `Gemfile.lock` копируются отдельно, поэтому после правки страницы или поста используются гемы, которые машина уже установила. Lock-файл, записанный на Mac, тоже подходит: мы собрали сайт с lock-файлом, где была указана только macOS, и `bundle install` сам выбрал гемы для Linux.
- **`JEKYLL_ENV=production`** — та сборка, которую дает шаг о деплое в пошаговом руководстве самого Jekyll. Все, что ваши шаблоны показывают только в production, например аналитика, попадает на страницы.

Второй этап — небольшой веб-сервер, который `pethost` пишет для любого сайта из файлов. Он отдает `_site`, папку, куда Jekyll пишет результат, и ничего из образа Ruby с ним не уходит: сайт работал в 15 MB памяти.

## Деплой сайта на Jekyll одной командой

Снова запустите `pethost deploy`, теперь с Dockerfile в папке. Вот весь экран:

```
$ pethost deploy
Name it [my-site]:              it will live at https://my-site.sam.pethost.app
✓ Packed 9 files, 18 KB
✓ Uploaded straight to your machine
✓ Built and started in 34 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. **Она спрашивает одно** Имя проекта — первое слово его адреса. Enter берет имя папки.
2. **Папка уходит прямо на вашу машину** Девять файлов: то, что написал `jekyll new`, и Dockerfile. Строка, которая начинается с `·`, — это машина сообщает, что сделала сама: она нашла Dockerfile и не нашла Compose-файла, поэтому написала его.
3. **Машина собирает и запускает его** В 34 секунды входит скачивание образов Ruby и Caddy, которых на машине еще не было. Затем `pethost` сам открывает адрес и печатает, что тот ответил: 200.

Файл `.pethost` говорит, какой проект в этой папке. Закоммитьте его вместе с Dockerfile, и следующий деплой ничего не спросит.

### Работают ли адреса Jekyll?

Jekyll пишет `about.markdown` в `_site/about/index.html`, а пост — по адресу, который дает его постоянная ссылка по умолчанию, `/:categories/:year/:month/:day/:title:output_ext`. Мы спросили у задеплоенного сайта то же, что спрашивает посетитель:

**Что ответил задеплоенный сайт на Jekyll**

| Адрес | Ответ |
| --- | --- |
| `/` | 200, главная страница со списком постов |
| `/about/` | 200, страница |
| `/about` | 308, редирект на `/about/` |
| `/jekyll/update/2026/10/25/welcome-to-jekyll.html` | 200, приветственный пост |
| `/jekyll/update/2026/10/25/welcome-to-jekyll` | 200, тот же пост |
| `/feed.xml` | 200, Atom-лента |
| `/nothing` | 404, собственная страница сайта: «Page not found :(» |

Страницы, лента и таблица стилей приходили сжатыми в браузер, который об этом просил.

## Указать url сайта, изменить страницу и задеплоить снова

`jekyll new` оставляет `url` в `_config.yml` пустым, поэтому в ссылках ленты не было хоста: `/jekyll/update/2026/10/25/welcome-to-jekyll.html`. Читалке лент нужен полный адрес. Укажите его, а заодно и название сайта:

```
title: My site
url: "https://my-site.sam.pethost.app"
```

Затем запустите ту же команду. Второй деплой занял 3 секунды, потому что машина хранит слои сборки: гемы заново не ставились.

```
$ pethost deploy
my-site (.pethost)
✓ Packed 10 files · uploaded · built and started in 3 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
```

Теперь ссылки ленты начинаются с `https://my-site.sam.pethost.app/`, а в заголовках страниц стоит «My site».

### Деплой сайта на Jekyll из GitHub при каждом пуше

Положите папку в репозиторий вместе с Dockerfile и `.pethost`; `_site` туда не попадает, как и задает `.gitignore` от Jekyll. Затем один раз подключите репозиторий:

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

Машина скачивает каждый коммит и собирает его тем же Dockerfile. Pethost читает только те репозитории, к которым вы дали доступ его GitHub App. Если деплой пошел не так, `pethost rollback` возвращает предыдущую версию, а ваша машина хранит три версии до текущей. ИИ-агент может сделать все это за вас через MCP-сервер Pethost: [как агент деплоит проект и присматривает за ним](https://pethost.dev/ru/blog/hosting-for-ai-coding-agents/).

## Свой домен для сайта на Jekyll

Любое имя в домене вашего аккаунта сразу становится адресом с HTTPS. Для домена, которым вы владеете, нужны одна команда и одна DNS-запись:

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

Команда печатает запись, которую нужно создать: CNAME с вашего имени на имя вашей машины. Сертификат от Let's Encrypt появляется сам, как только имя начинает указывать на машину, и сам продлевается. Затем укажите новый адрес в `url` в `_config.yml` и задеплойте снова, чтобы лента и ссылки на страницах вели на него. `pethost password` ставит страницу с паролем перед всем сайтом — для сайта, который еще не публичный.

## Что вы получаете за эти деньги

Pethost стоит 9,99 € в месяц за все, что вы хостите, на 2 vCPU, 3 GB памяти и 30 GB диска. Собранный сайт на Jekyll — это файлы за Caddy, в 15 MB этой памяти, так что в тарифе остается место для бэкенда формы комментариев, базы данных и других ваших проектов. [Платы за проект нет](https://pethost.dev/ru/blog/unlimited-projects-flat-monthly-fee/), и ничего не считается по счетчику: второй блог не стоит ничего сверху, как и месяц, когда пост попадает на главную какого-нибудь форума.

- **9,99 €** в месяц за все ваши проекты, без счетчиков
- **34 с** на сборку и запуск сайта, включая скачивание образов
- **3 с** на деплой после изменения

Что уже сделано за вас: HTTPS с сертификатами, которые продлеваются сами, деплои из GitHub, ночные бэкапы, которые хранятся 14 дней, SSH в любой контейнер и учет каждого запроса без скриптов на ваших страницах. Панель показывает самые популярные пути за последние 30 дней, а для блога это список постов, которые люди действительно читают. Ничего не засыпает, поэтому читатель [никогда не ждет холодного старта](https://pethost.dev/ru/blog/always-on-hosting-no-cold-starts/). Тарифы — в разделе [цен](https://pethost.dev/ru/#pricing) на главной странице.

**Какие посты читают.** Десять самых популярных путей проекта с долей и временем ответа, и лог отдельных запросов.

![Панель Pethost: десять самых популярных путей проекта с долей, числом запросов и временем ответа, и лог отдельных запросов.](https://pethost.dev/shots/traffic.webp)

### Pethost — лучший выбор для

- **Блогеров, которые делают не только блог**: сайт на Jekyll, приложение и его база данных на одном тарифе, с одним счетом
- **Разработчиков с несколькими сайтами**, где у каждого проекта свой сайт документации и своя страница, по одной фиксированной цене
- **Людей, за которых деплоит агент**: Claude Code или Codex деплоит сайт и читает его логи
- **Небольших команд**, которые держат сайт за страницей с паролем до запуска

### Ищите другое, если

- Вашему приложению нужны несколько регионов или автомасштабирование

## Вопросы

### Нужен ли Dockerfile, чтобы задеплоить сайт на Jekyll на Pethost?

Да. Проект на Pethost запускается из Dockerfile или Compose-файла, а `pethost deploy` не пишет его для Jekyll. 38 строк на этой странице — это файл целиком: Ruby собирает сайт, а Caddy отдает `_site`.

### Какую версию Ruby использует Dockerfile для Jekyll?

Ту, что указана в его первой строке: `ruby:4.0`, а это был Ruby 4.0.9, когда мы собирали сайт. Jekyll требует Ruby 2.7.0 или новее, а если сайт закрепляет версию в `.ruby-version`, в Dockerfile нужно указать ту же.

### Почему ссылки в ленте Jekyll относительные?

Потому что `url` в `_config.yml` пустой: таким его оставляет `jekyll new`. Укажите в нем адрес сайта, например `url: "https://my-site.sam.pethost.app"`, и задеплойте снова: тогда ссылки ленты будут содержать полный адрес.

### Можно ли деплоить сайт на Jekyll из GitHub при каждом пуше?

Да. Один раз задеплойте папку через `pethost deploy`, затем запустите `pethost github owner/repository`. С этого момента каждый пуш собирает сайт тем же Dockerfile и деплоит его, а `pethost rollback` возвращает более ранний коммит.

### Как подключить свой домен с HTTPS к сайту на Jekyll?

Запустите `pethost domain add www.example.com` и создайте одну DNS-запись, которую команда напечатает: CNAME на имя вашей машины. Сертификат от Let's Encrypt появляется сам, как только имя начинает указывать на машину, и сам продлевается.

### Сколько стоит хостинг сайта на Jekyll на Pethost?

9,99 € в месяц за Starter: 2 vCPU, 3 GB и 30 GB без платы за проект, так что там же работают ваши другие сайты, приложения и базы данных. Бесплатного тарифа нет. Цены без НДС.

На экранах — деплои сайта, созданного `jekyll new`, с Jekyll 4.4.1 и minima 2.5.2, Ruby 4.0.9 и Bundler 4.0.23, и pethost 0.2.4 на нашей тестовой машине, где до первого деплоя не было ни образа Ruby, ни образа Caddy. Аккаунт на них — пример, `sam`.

1. [Jekyll: быстрый старт](https://jekyllrb.com/docs/)
2. [Jekyll: установка и требования](https://jekyllrb.com/docs/installation/)
3. [Jekyll: пошаговое руководство, деплой](https://jekyllrb.com/docs/step-by-step/10-deployment/)
4. [Jekyll: постоянные ссылки](https://jekyllrb.com/docs/permalinks/)
5. [pethost, командная строка Pethost](https://pethost.dev/docs/cli/)

## Запустите свои проекты уже сегодня

Деплойте приложения, ботов и базы данных из агента, с GitHub или в браузере, сколько поместится, по одной фиксированной цене. Ничего по счётчику, ничего сверху.

[Разместить проекты за 9,99 €/мес](https://console.pethost.dev/)

## Читать дальше

- 25 октября 2026 г. [Как задеплоить приложение на Streamlit в 2026: одна команда, HTTPS и Dockerfile, который остается у вас](https://pethost.dev/ru/blog/deploy-streamlit-app/) Деплой приложения на Streamlit одной командой: pethost deploy пишет Dockerfile, запускает streamlit run и отдает приложение по HTTPS — за 9,99 € в месяц.
- 24 октября 2026 г. [Как задеплоить PHP-приложение в 2026: Laravel, Symfony или простые PHP-страницы одной командой](https://pethost.dev/ru/blog/deploy-php-app/) Деплой PHP-приложения одной командой: pethost deploy пишет Dockerfile для Laravel, Symfony или простых PHP-страниц и отдает их по HTTPS — за 9,99 € в месяц.
- 10 октября 2026 г. [Как задеплоить приложение на Gin в 2026: одна команда, HTTPS и Dockerfile, который остается у вас](https://pethost.dev/ru/blog/deploy-gin-app/) Деплой приложения на Go Gin одной командой: pethost deploy пишет Dockerfile, собирает программу и отдает ее по HTTPS — за 9,99 € в месяц.
- 10 октября 2026 г. [Как задеплоить приложение на Go Fiber в 2026: одна команда, HTTPS и Dockerfile, который остается у вас](https://pethost.dev/ru/blog/deploy-fiber-app/) Деплой приложения на Go Fiber одной командой: pethost deploy пишет Dockerfile, собирает его за 45 секунд и отдает по HTTPS — за 9,99 € в месяц.

[Все статьи](https://pethost.dev/ru/blog/) · [О Pethost](https://pethost.dev/about/) · [Цены](https://pethost.dev/ru/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблоны](https://pethost.dev/ru/templates/)
- [О нас](https://pethost.dev/about/)
- [Документация](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/ru/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагин](https://github.com/pethost-dev/plugin)
- [Условия](https://pethost.dev/terms/)
- [Конфиденциальность](https://pethost.dev/privacy/)
- [Возвраты](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Базы данных

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

Сравнения

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/ru/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/ru/blog/coolify-cloud-vs-dokploy-cloud/)
- [Цены Railway, Render и Fly.io](https://pethost.dev/ru/blog/railway-vs-render-vs-fly-io-pricing/)
- [Управляемый хостинг Docker Compose](https://pethost.dev/ru/blog/managed-docker-compose-hosting/)

Альтернативы

- [Альтернативы Railway](https://pethost.dev/ru/blog/railway-alternatives/)
- [Альтернативы Heroku](https://pethost.dev/ru/blog/heroku-alternatives/)
- [Альтернативы Dokploy](https://pethost.dev/ru/blog/dokploy-alternatives/)
- [Альтернативы Coolify](https://pethost.dev/ru/blog/coolify-alternatives/)
- [Альтернативы Render](https://pethost.dev/ru/blog/render-alternatives/)
- [Альтернативы Sliplane](https://pethost.dev/ru/blog/sliplane-alternatives/)
