Despliega Grav en Pethost con un clic
Un CMS de archivos planos: una web o un blog rápidos con panel de administración y sin base de datos
Qué pasa
- Inicias sesión en Pethost o creas una cuenta, con una passkey, GitHub o Google.
- ¿Aún no tienes máquina? Eliges un plan y te preparamos una. El enlace espera en tu navegador hasta que esté lista.
- Nuevo proyecto se abre en la app. Rellenas lo que pide y haces clic en Crear proyecto: Correo electrónico, Contraseña de administrador.
- En un par de minutos la app está en marcha en su propia dirección con HTTPS. Sus secretos se generan al azar para ella, y sus datos entran en el backup de cada noche.
- Es un proyecto como cualquier otro: su compose.yaml, su .env, sus logs y un terminal están en el panel, y tu agente puede cambiarlo, volver a una versión anterior o restaurarlo.
Primeros pasos
Abre https://grav.sam.pethost.app/admin y entra como admin con la contraseña de administrador que indicaste: al menos 8 caracteres, con una mayúscula, una minúscula y un dígito. Ahí se gestionan las páginas, los temas y los plugins.
Qué ejecuta
La plantilla es este compose.yaml y las variables que escribe en el .env del proyecto. Pethost ejecuta el archivo tal 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: