Ansible: Setup App
This playbook installs app from repository and bind Traefik on defined host.
Manage app
Available playbooks:
- app-install
- app-start
- app-stop
First create a file vars.json who contain :
{
"working_dir": "/home/vagrant/test",
"container_name": "myapp",
"repository": "https://git.example.com/vendor/app.git",
"version": "master",
"host": "myapp.example.com",
"dockerfile": "Dockerfile",
"volumes": {
"storage": "/app/storage"
},
"envvars": {
"APP_NAME": "Wonderful",
"APP_ENV": "production"
}
}
Then run a playbook:
HOSTNAME=vps.example.com
$ ansible-playbook -i $HOSTNAME, -e ansible_python_interpreter=/usr/bin/python3 -e @vars.json playbooks/app-install.yml
Manage database
Available playbooks:
- db-create
First create a file vars.json who contain :
{
"ansible_python_interpreter": "/usr/bin/python3",
"container_name": "myappdb",
"envvars": {
"MYSQL_ROOT_PASSWORD": "superpassword",
"MYSQL_DATABASE": "myappdb",
"MYSQL_USER": "user",
"MYSQL_PASSWORD": "password"
}
}
Then run a playbook:
HOSTNAME=vps.example.com
$ ansible-playbook -i $HOSTNAME, -e ansible_python_interpreter=/usr/bin/python3 -e @vars.json playbooks/db-create.yml
Description
Languages
Jinja
100%