Wdróż aplikację Grav na Pethost jednym kliknięciem
CMS na plikach: szybka strona albo blog z panelem administracyjnym i bez bazy danych
Co się dzieje
- Logujesz się do Pethost albo zakładasz konto, kluczem dostępu, przez GitHub albo Google.
- Nie masz jeszcze maszyny? Wybierasz plan, a my ją dla ciebie przygotowujemy. Link czeka w twojej przeglądarce, aż będzie gotowa.
- Okno „Nowy projekt” otwiera się na tej aplikacji. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: E-mail, Hasło administratora.
- Za minutę czy dwie aplikacja działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
- To projekt jak każdy inny: jego compose.yaml, .env, logi i terminal są w panelu, a twój agent może go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.
Pierwsze kroki
Otwórz https://grav.sam.pethost.app/admin i zaloguj się jako admin hasłem administratora, które podano: co najmniej 8 znaków, w tym wielka litera, mała litera i cyfra. Tam zarządza się stronami, motywami i wtyczkami.
Co uruchamia
Szablon to ten compose.yaml i zmienne, które zapisuje do .env projektu. Pethost uruchamia plik dokładnie tak, jak jest napisany.
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: