A flat-file CMS that stores pages as Markdown files, so there is no database to run. Edit content in the admin panel or directly on the volume.
This page describes the Levelrail template for Grav (Applications). It deploys the services below as one Docker Compose app on your own server. Project site: https://learn.getgrav.org/.
Recommended memory: about 256 MiB.
Services, ports and volumes
Environment variables
Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.
Security and requirements
Level: Standard.
What this template needs:
- Stores data in named volumes (
grav): config.
What Levelrail adds around it:
- Automatic HTTPS and an ingress shield in front of every domain.
- Named volumes can be backed up and restored.
- Deploys are gated on the health check before traffic switches.
- One-step rollback to the previous revision.
- Exposure report shows what is reachable from outside.
- Host firewall rules managed for published ports.
Deploy Grav with Levelrail
In the dashboard, open Apps, choose New app, then Browse templates, and select Grav. Review the Compose body and deploy.
With the CLI:
See the service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.
More Applications templates
All templates are listed in the self-host gallery. Last modified on November 2, 2026