Overview

Grav PostgreSQL Bundle is grav - a flat-file CMS that stores content as Markdown files, avoiding a database for fast, simple sites. This template pairs Grav with a dedicated PostgreSQL database service, giving it a managed relational backend for persistent application data. On DockerCP it runs as a managed Docker container with persistent volumes, environment variables, domain routing, and one-click SSL. Environment variables, default ports, and storage volumes come pre-configured, so you can deploy and start using it right away.

Docker image getgrav/grav:latest
Default port 80
Deployment type docker image
Recommended resources 1 CPU · 1 GB

How deployment works in DockerCP

This template gives DockerCP the deployment metadata needed to create a service, prepare runtime variables, map persistent storage, expose the internal port, and connect a public domain with SSL when required.

  1. Create or select a project where the service belongs.
  2. Review the Docker image, tag, default port, environment variables, and volume mappings.
  3. Deploy the service and check logs until the application is healthy.
  4. Attach a domain or subdomain when the application must be available publicly.
  5. Enable HTTPS and verify the final browser response.

Configuration

Environment variables

Variable Default / guidance
APP_ENV production
APP_PORT 80
APP_URL https://example.com
DATABASE_CLIENT postgres
DATABASE_HOST postgres

Persistent volumes

Volume Mount path
grav_postgresql_bundle_data /var/www/html

Commands

DockerCP handles deployment from the panel, but understanding the equivalent Docker commands helps users debug services with more confidence.

docker pull getgrav/grav:latest
docker ps --filter "name=grav-postgresql-bundle"

docker logs --tail=100 grav-postgresql-bundle

DNS and SSL checklist

Step Expected result
Add A or CNAME record The domain points to the DockerCP server or configured target.
Attach domain to service The service is reachable through the selected hostname.
Enable HTTPS The certificate becomes active and redirect to HTTPS can be enabled.

Screenshots

Panel previews for the Grav PostgreSQL Bundle template: how deployment, the running service, and its key details look inside DockerCP.

Grav PostgreSQL Bundle deployment form inside the DockerCP panel.
Database container with generated credentials and exposed port.
Data volume mapped so the database survives redeploys.

Troubleshoot

  • Confirm the Docker image and tag exist.
  • Confirm the selected internal port matches the application port.
  • Confirm required variables such as database URL, app URL, and credentials are set.
  • Check service logs after the first deployment.
  • Verify DNS before requesting or renewing SSL certificates.