pilot-playbooks/README.md
2022-07-02 15:24:45 +02:00

67 lines
1.3 KiB
Markdown

# 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 :
```json
{
"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:
```bash
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 :
```json
{
"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:
```bash
HOSTNAME=vps.example.com
$ ansible-playbook -i $HOSTNAME, -e ansible_python_interpreter=/usr/bin/python3 -e @vars.json playbooks/db-create.yml
```