Faça o deploy de Grav no Pethost com um clique
Um CMS de arquivos: um site ou blog rápido, com painel de administração e sem banco de dados
O que acontece
- Você entra no Pethost ou cria uma conta, com uma passkey, GitHub ou Google.
- Ainda não tem máquina? Você escolhe um plano, e nós preparamos uma para você. O link espera no seu navegador até ela ficar pronta.
- Novo projeto abre no app. Você preenche o que ele pede e clica em Criar projeto: E-mail, Senha do administrador.
- Em um ou dois minutos o app está no ar no próprio endereço com HTTPS. Os segredos dele são gerados ao acaso, e os dados vão para o backup noturno.
- É um projeto como qualquer outro: o compose.yaml, o .env, os logs e um terminal ficam no painel, e seu agente pode alterá-lo, fazer rollback ou restaurá-lo.
Primeiros passos
Abra https://grav.sam.pethost.app/admin e entre como admin com a senha de administrador que você informou: pelo menos 8 caracteres, com uma letra maiúscula, uma minúscula e um dígito. As páginas, os temas e os plugins são geridos lá.
O que roda
O template é este compose.yaml e as variáveis que ele grava no .env do projeto. O Pethost roda o arquivo exatamente como está escrito.
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: