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

1.3 KiB

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