Simple Docker image running Grav CMS with Nginx. Also includes auto SSL setup.
100K+
This is a simple Docker image running Grav CMS with the admin plugin under Nginx.
The container can also optionally generate trusted certs for your domain, using Let's Encrypt. See this post for details.
For more info on Grav, visit the Grav Website.
The simplest way to run this image with docker alone is:
docker run -d -p 80:80 evns/grav
This will run grav, and prompt for admin user setup on startup. Grav will be available on http://localhost/
To simplify further, the site can be started using the following docker compose:
version: '2'
services:
site:
image: evns/grav
restart: always
ports:
- "80:80"
- "443:443"
environment:
- ADMIN_USER=admin
- ADMIN_PASSWORD=Pa55word
- [email protected]
- ADMIN_PERMISSIONS=b
- ADMIN_FULLNAME=Admin
- ADMIN_TITLE=SiteAdmin
- DOMAIN=example.com # set to your root/apex domain
- GENERATE_CERTS=true # set to true to automatically setup trusted ssl with let's encrypt
volumes:
- backup:/var/www/grav-admin/
volumes:
backup:
external: false
and running:
docker-compose up -d
This will do the following:
backup with the grav user data mounted into itTo create a backup, run the grav backup script in the container:
docker exec <container-name> /var/www/grav-admin/bin/grav backup
This wil create a new archive in /var/www/grav-admin/backup which is also located on the host volume.
Simply copy this somewhere to ensure you have the full site backed up.
For example, to synchronise the contents of the volume to s3:
docker run --volumes-from=<container-name> --rm pmcjury/aws-cli s3 sync /var/www/grav-admin/backup/ s3://<bucket-name>
To restore your site, copy the contents of your backup archive to the backup volume on the host.
The location of the volume on the host can be found with:
docker volume inspect <volume-name>
Content type
Image
Digest
Size
133.9 MB
Last updated
over 8 years ago
docker pull evns/grav