# 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 Start by copy then change values of hosts example file : ```bash $ cp hosts.example.ini hosts.ini ``` Then create a file `vars.json` who contain : ```json { "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: ```bash $ ansible-playbook -i hosts.ini -e @vars.json playbooks/app-install.yml ``` ## Manage database Available playbooks: + db-create First create a file `dbvars.json` who contain : ```json { "container_name": "myappdb", "envvars": { "MYSQL_ROOT_PASSWORD": "superpassword", "MYSQL_DATABASE": "myappdb", "MYSQL_USER": "user", "MYSQL_PASSWORD": "password" } } ``` Then run a playbook: ```bash $ ansible-playbook -i hosts.ini -e @dbvars.json playbooks/db-create.yml ```