I decided to learn Ansible today and here's what I came up with after a few short hours of testing. Note it's only my first day, so I'm sure improvements can be made - I already have several in mind. Comments are definitely welcome. So far I've tested and verified with the server scenarios listed in the QA section of the readme.
https://github.com/andywimmer/ansible-grav
If you're unfamiliar, Ansible is used to automate the setup of freshly-provisioned servers. Once you provision a server with your hosting company, this 'playbook' will install NGINX, PHP7 and Grav (with a few other things) in just minutes. All you need to do is configure your DNS to point to your server and you'll (hopefully) be good-to-go!
Note I created this playbook mainly as a learning exercise, though I will improve/maintain it based on my own needs and any feedback received. If it helps someone install Grav on their server that's a plus 😃
update-20170710: did a major overhaul of the playbook for improved efficiency, along with adding support for Amazon Linux and CentOS.
| Current compatibility matrix: | AWS | DigitalOcean | Google Cloud | Vultr | |
|---|---|---|---|---|---|
| Amazon Linux 2017.03.1 | ✅ | ⚫ | ⚫ | ⚫ | |
| CentOS '7' | ⚫ | ⚫ | ✅ | ❌ | |
| CentOS 7.3.1611 | ⚫ | ✅ | ⚫ | ⚫ | |
| Debian '8' | ⚫ | ⚫ | ✅ | ✅ | |
| Debian 8.8 | ⚫ | ✅ | ⚫ | ⚫ | |
| Debian 9.0 | ⚫ | ✅ | ✅ | ✅ | |
| Fedora 25 | ⚫ | ✅ | ⚫ | ❌ | |
| Ubuntu 16.04 | ✅ | ⚫ | ✅ | ✅ | |
| Ubuntu 16.04.2 | ⚫ | ✅ | ⚫ | ⚫ | |
| Ubuntu 16.10 | ⚫ | ✅ | ✅ | ✅ | |
| Ubuntu 17.04 | ⚫ | ✅ | ✅ | ✅ |
Note I am not affiliated with any entities other than my own github links