Ansible scripts are written for the Ubuntu 16.04 or higher
To install ansible
with brew
:
$ brew install ansible
Check the ansible version:
$ ansible --version
ansible 2.15.4
Ansible enables the automation of the installation and configuration of the various stack components: All components are dockerised
- Docker
- Postgres
- Certbot to generate and renew ssl certificate
- The node backend
- The frontend packaged inside an nginx container
The configuration depends on the phase on the system: dev, prod, uat etc ... Each phase has its own directory which contains the configuration files and the inventory of the remote machines.
The global configuration which is independent on the phase is at group_vars/all/vars.yml
To set the production configuration parameters, create group_vars/production.yml:
Then to change the remote machine connection settings (ip address, username, ssh key location), edit the production inventory: production.ini:
Copy the file vault example to a file called vault.yml
The strict necessary is the docker configuration.
Please create a new access token from https://hub.docker.com/settings/security for docker_hub_password
Get ansible dependencies
deploy/playbook$ ansible-galaxy install -r roles/requirements.yml
Check the connection to the production servers:
$ ./deploy_prod.sh