I know that https://forge.laravel.com/auth/register is available for $12/month*, but I’d like to understand how to accomplish the same thing myself.
What I assume is possible (and what I’m looking for): I create a server that has only Ubuntu 18.04.3 installed and nothing else, and I upload a script that installs all the appropriate software and sets up MySQL with the correct passwords, etc (without manual intervention).
I’ve tried Laradock and had tons of problems with Docker and don’t want to do that anymore.
I see that https://cloud.digitalocean.com/droplets/new lets me create a LEMP droplet (Ubuntu, Nginx, MySQL, PHP-FPM) with one click. But it lacks Redis, and its versions are outdated (e.g. PHP 7.2).
I’ve heard people mention Chef (maybe this?), but that seems to be more complicated than what I’m imagining.
Unfortunately I’m not even sure how to search for what I’m trying to do (or how to tag this question); is this called “server provisioning”? I’ve been searching phrases like “automatic install script redis mysql server for laravel”.
Thanks in advance for pointing me in the right direction.
* I also just found https://getcleaver.com/ and https://runcloud.io/server-management, which each look like Forge + Envoyer (and RunCloud offers a free plan).
2
Answers
It is called server provisioning and Chef would be a good fit for this, check out Ansible too – another thing you could do is setup the server yourself and create an image from that server and then base your new servers out of that image, that way you’ll have all your services installed from the start.
This sounds like a job or something like Puppet (or Chef/Ansible), however Laravel Envoy may be another tool to look at if you haven’t already for the second part of your problem.
I highly recommend Heroku (or similar service), as this is all done out of the box, and has a ton of other great features that make developing a pipeline a breeze.