Skip to content

Grav

Fast, Simple, and Flexible Flat-File CMS

grav diagram

Grav is a modern open-source flat-file CMS (Content Management System) built on PHP that requires no database. With its lightweight architecture, flexible design, and powerful features, Grav offers developers and content creators a fast and intuitive platform for building websites, blogs, and web applications.

Key Features

  • Flat-File Structure: Grav uses a file-based structure instead of a traditional database, making it easy to manage and deploy without the need for complex server setups.
  • Fast and Lightweight: Grav's minimalistic approach results in fast page load times and efficient resource utilization, ideal for performance-oriented websites and applications.
  • Twig Templating: Leveraging the Twig templating engine, Grav offers a flexible and powerful templating system for creating custom themes and layouts.
  • Modular Architecture: Extend Grav's functionality with a wide range of plugins and themes available through the built-in package manager, enabling customization and scalability.
  • Developer-Friendly: Grav's modular architecture and well-documented API make it easy for developers to extend and customize the platform to suit their specific requirements.

Getting Started

To get started with Grav, download and install the core files from the official website. The website provides comprehensive documentation, tutorials, and guides to help you set up and configure Grav for your website or project.

Community and Support

Join the Grav community on the official forums to engage with other users, ask questions, share your projects, and contribute to the project. Stay informed about the latest updates, features, and best practices through community discussions and announcements.

Experience the simplicity and flexibility of Grav—a modern flat-file CMS designed to streamline website development and content management.

Volumes

/nfs-nas-swarm/config/
/nfs-nas-swarm/data/

Deployment

No Special requirments

Docker swarm file

version: '3.3'
services:
  grav:
    image: lscr.io/linuxserver/grav:latest
    environment:
      PGID: '911'
      PUID: '911'
      TZ: Europe/Amsterdam
    volumes:
     - /swarm/config/grav:/config
    networks:
     - internal
     - traefik-public
    logging:
      driver: json-file
    deploy:
      labels:
        traefik.http.routers.grav-http.entrypoints: http
        traefik.http.routers.grav-http.middlewares: https-redirect
        traefik.http.routers.grav-https.tls.certresolver: le
        traefik.http.routers.grav-https.tls: 'true'
        traefik.constraint-label: traefik-public
        traefik.http.routers.grav-https.entrypoints: https
        traefik.http.routers.grav-http.rule: Host(`grav.vnerd.nl`)
        traefik.http.routers.grav-https.rule: Host(`grav.vnerd.nl`)
        traefik.docker.network: traefik-public
        traefik.enable: 'true'
        traefik.http.services.grav.loadbalancer.server.port: '80'
      placement:
        constraints:
         - node.labels.Arch!=i686
         - node.labels.worker==enabled
networks:
  internal:
    driver: overlay
  traefik-public:
    external: true

Notes

Comments