[WIP] Terraform/Ansible deployment template for Strapi and MariaDB on Vultr

During my personal time (outside of work hours, and not Strapi official) working on a fully automated deployment system for Vultr (and eventually some other hosts too).

It’s still a work in progress and requires you to use Cloudflare for your domain DNS but here is the repo for those interested:

Feel free to help out if your familiar, I was mostly doing it as a hobby and I know people have been asking for some deployment scripts. This doesn’t currently do any DB Migrations.

Here is the list of features I want to add eventually:

  • Support Deployment without Cloudflare / SSL / Domain
  • Support existing Vultr SSH Key ID (WIP)
  • Automatic testing of Deployed Strapi Application to ensure it’s actually running, else rollback to previous version
  • Support automatic database backup pre-deploy
  • Support automatic database restore if new deploy fails and rollback is triggered
  • Support for running SQL migration scripts to make Strapi version updates easier
  • Clean up Ansible code to follow best-practices (I admit it’s a bit messy)
  • Support other Linux Distributions besides Ubuntu
  • Support running Strapi in a Staging Environment (Optional 3rd instance)

Also still working on the ansible documentation but basically:

  • run the ./install_requirements.sh
  • create your vault_password file
  • configure your vars
  • run the ./run.sh main.yml

Hi @DMehaffy , I don’t know if a lot of users are interested in deploying their Strapi app with Terraform but I would like to share mine with the community. I created a Terraform template to deploy a Strapi app on AWS with an RDS instance. Here is the template.

Happy to have your feedback.

1 Like