The basic platform as discussed in #2 will essentially be a docker container on local machines and a VM on on production that will be configured via tooling to be as identical as possible.
An ansible playbook should be portable enough to be used for both The docker image should install everything needed to get that playbook running and then run the playbook. An additional shell script should then be created based on the docker file to deploy on a production image when doing initial deployment.
The ansible playbook should cover the following:
Install and configure shell tools
Install and configure PHP / PHPFPM & extensions (back-end code)
Install and configure nginx (webserver)
Install and configure PostgreSQL (database)
A second playbook should be created just for the development environment:
Install and configure development tools
The docker container should also mount the source code for the back-end and front-end as well in a way where developers can update the code and the code will be updated on the image without any need for explicitly copying files over to the container.
Tools should be created to simplify launching this and the tools.
Everything should be documented in the platform/README.md as well.
The basic platform as discussed in #2 will essentially be a docker container on local machines and a VM on on production that will be configured via tooling to be as identical as possible.
An ansible playbook should be portable enough to be used for both The docker image should install everything needed to get that playbook running and then run the playbook. An additional shell script should then be created based on the docker file to deploy on a production image when doing initial deployment.
The ansible playbook should cover the following:
A second playbook should be created just for the development environment:
The docker container should also mount the source code for the back-end and front-end as well in a way where developers can update the code and the code will be updated on the image without any need for explicitly copying files over to the container.
Tools should be created to simplify launching this and the tools.
Everything should be documented in the
platform/README.md
as well.