I have been developing a web application which recently launched. Now I am continuing with improvements and want to create a staging server similar to the production server.
I know of the existence of tools like Ansible, Puppet and Chef, however scanning through the docs seems like they are a bit overkill for my simple usecase. Of course there is the solution of completely dockerizing the application, which would be a good thing.
But other than Dockerizing the application, what would you recommend for simply recreating a production server?
All it has to do is:
- Install a few dependencies: PHP, MySQL, Nginx, Java, Elasticsearch
- Add database, database user
- Add a user
- Configure SSH keys
- Change SSH to authorization by keyfile only
- Add a few firewall rules