Getting started
Database support
It is recommended that you install a database server. You can install one on the same host as Foodsoft or choose a different host:
[debops_service_mariadb_server]
hostname
In case you chose a different host, you will need to specify which of your
database servers the Foodsoft instance should use by specifying the database
server host as foodsoft__database_server
.
Webserver support
Currently, only nginx is supported using the debops.nginx role.
You will need to install Nginx with Passenger support by setting:
nginx_flavor: 'passenger'
in your inventory.
Example inventory
To manage Foodsoft on a given host or set of hosts, they need to be added
to the [debops_service_foodsoft_nginx]
Ansible group in the inventory:
[debops_service_foodsoft_nginx]
hostname
[debops_service_mariadb_server]
hostname
Example playbook
Ansible playbook that uses the debops-contrib.foodsoft
role together
with debops.nginx:
---
- name: Setup and manage Foodsoft with Nginx as webserver
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_service_foodsoft_nginx' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: apt_preferences
tags: [ 'role::apt_preferences' ]
apt_preferences__dependent_list:
- '{{ nginx__apt_preferences__dependent_list }}'
- role: ferm
tags: [ 'role::ferm', 'skip::ferm' ]
ferm__dependent_rules:
- '{{ nginx__ferm__dependent_rules }}'
- role: mariadb
tags: [ 'role::mariadb' ]
mariadb__dependent_databases: '{{ foodsoft__mariadb__dependent_databases }}'
mariadb__dependent_users: '{{ foodsoft__mariadb__dependent_users }}'
when: (foodsoft__database == 'mariadb')
- role: ruby
tags: [ 'role::ruby' ]
- role: nginx
tags: [ 'role::nginx' ]
nginx__dependent_servers:
- '{{ foodsoft__nginx__dependent_servers }}'
- role: foodsoft
tags: [ 'role::foodsoft' ]
The playbook is shipped with this role under
./docs/playbooks/
from which you can symlink it to your
playbook directory.