---
title: "Grav на Pethost в один клік"
description: "CMS на файлах: швидкий сайт або блог з адмінкою й без бази даних. Шаблон для Pethost: за хвилину-дві застосунок працює на вашій машині — за власною адресою з HTTPS і з щонічними бекапами."
---

[← Усі шаблони](https://pethost.dev/uk/templates/)

# Grav на Pethost в один клік

CMS на файлах: швидкий сайт або блог з адмінкою й без бази даних

[Задеплоїти на Pethost](https://console.pethost.dev/?template=grav)

## Що відбудеться

1. Ви входите в Pethost або створюєте акаунт — з ключем доступу, через GitHub або Google.
2. Машини ще немає? Ви обираєте тариф, і ми готуємо машину для вас. Посилання чекає у вашому браузері, доки машина не буде готова.
3. Вікно «Новий проєкт» відкривається на цьому застосунку. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: **Електронна пошта**, **Пароль адміністратора**.
4. За хвилину-дві застосунок працює за власною адресою з HTTPS. Його секрети створюються випадково, а дані потрапляють у щонічний бекап.
5. Це проєкт як будь-який інший: його compose.yaml, .env, логи й термінал — у панелі, а ваш агент може його змінити, відкотити або відновити.

## Перші кроки

Відкрийте https://grav.sam.pethost.app/admin і увійдіть як admin із паролем адміністратора, який ви вказали: щонайменше 8 символів, із великою літерою, малою літерою й цифрою. Там керують сторінками, темами й плагінами.

## Що запускається

Шаблон — це цей compose.yaml і змінні, які він записує в .env проєкту. Pethost запускає файл так, як його написано.

```
services:
  grav:
    image: getgrav/grav:php8.4
    restart: unless-stopped
    # The image downloads Grav with its admin into the volume on the first start. The admin
    # account is made from the fields before Apache starts, so the admin's "create the first
    # account" page is never open to a visitor; Grav refuses a password without an upper-case
    # letter, a lower-case letter and a digit, at least 8 characters, and the start stops then.
    entrypoint:
      - bash
      - -c
      - |
        cat > /docker-entrypoint.d/admin.sh <<'SCRIPT'
        #!/bin/bash
        set -e
        cd /var/www/html
        if ! ls user/accounts/*.yaml >/dev/null 2>&1; then
          runuser -u www-data -- bin/plugin login new-user --user=admin --password="$$ADMIN_PASSWORD" \
            --email="$$ADMIN_EMAIL" --permissions=b --fullname=Admin --title=Administrator --language=en
        fi
        SCRIPT
        chmod +x /docker-entrypoint.d/admin.sh
        exec docker-entrypoint.sh apache2-foreground
    environment:
      GRAV_VERSION: 2.2.9
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    volumes:
      - site:/var/www/html

volumes:
  site:
```

[compose.yaml](https://pethost.dev/templates/grav/compose.yaml)[Відкрити на GitHub](https://github.com/pethost-dev/templates/tree/main/grav)

Pethost · Stephan Gomer · NIP 1133096755

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