############################### # # Instanciate freepbx, asterisk # ############################### [buildout] parts = asterisk-service mariadb-service mariadb-create-database mariadb-init-database apache-service freepbx-configuration freepbx-copy-configuration eggs-directory = ${buildout:eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory} offline = true [directory] recipe = slapos.cookbook:mkdirectory etc = $${buildout:directory}/etc bin = $${buildout:directory}/bin astetc = $${:etc}/asterisk # bin = $${buildout:directory}/bin srv = $${buildout:directory}/srv var = $${buildout:directory}/var varlib = $${:var}/lib varspool = $${:var}/spool astmonitor = $${:varspool}/monitor astfax = $${:varspool}/fax astvarlib = $${:varlib}/asterisk astvarlibbin = $${:astvarlib}/bin astspool = $${:varspool}/asterisk log = $${:var}/log www = $${:var}/www wwwhtml = $${:www}/html wwwhtmlpanel = $${:wwwhtml}/panel wwwcgi = $${:www}/cgi-bin astlog = $${:log}/asterisk tmp = $${buildout:directory}/tmp scripts = $${:etc}/run services = $${:etc}/service mariadb-data = $${:srv}/mariadb apache-htdocs = $${:srv}/htdocs # promises = $${:etc}/promise # novnc-conf = $${:etc}/novnc run = $${:var}/run astrun = $${:run}/asterisk # ca-dir = $${:srv}/ssl [mariadb-create-database] recipe = slapos.recipe.template url = ${template-mariadb-create-database:output} output = $${directory:scripts}/mariadb-create-database mode = 0700 [mariadb-init-database] recipe = slapos.recipe.template url = ${template-mariadb-init-database:output} output = $${directory:bin}/mariadb-init-database mode = 0700 [mariadb-create-database-sql] recipe = slapos.recipe.template url = ${template-mariadb-create-database-sql:output} output = $${directory:etc}/mariadb-create-database.sql mode = 0600 [mariadb-freepbx-database] passwd = asterisk [mariadb-freepbx-login] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/mariadb-freepbx-login bytes = 8 [mariadb-freepbx-password] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/mariadb-freepbx-passwd bytes = 24 [mariadb-asterisk-database] passwd = asteriskcdrdb [mariadb-asterisk-login] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/mariadb-asterisk-login bytes = 8 [mariadb-asterisk-password] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/mariadb-asterisk-passwd bytes = 24 [mariadb-service] recipe = slapos.recipe.template url = ${template-mariadb-service:output} output = $${directory:services}/mariadb mode = 0700 [mariadb-configuration] recipe = slapos.recipe.template url = ${template-mariadb-configuration:output} output = $${directory:etc}/mariadb.cnf mode = 0600 socket = $${directory:run}/mariadb.sock pid-file = $${directory:run}/mariadb.pid error-log = $${directory:log}/mariadb_error.log slow-log = $${directory:log}/mariadb_slowquery.log bin-log = $${directory:log}/mariadb-bin.log [apache-service] recipe = slapos.recipe.template url = ${template-apache-service:output} output = $${directory:services}/apache mode = 0700 [apache-configuration] recipe = slapos.recipe.template url = ${template-apache-configuration:output} output = $${directory:etc}/httpd.conf mode = 0600 pid-file = $${directory:run}/httpd.pid ip = $${slap-network-information:local-ipv4} port = 9080 error-log = $${directory:log}/httpd_error.log access-log = $${directory:log}/httpd_access.log php-ini-dir = $${directory:apache-htdocs} document-root = $${directory:apache-htdocs} [freepbx-configuration] recipe = slapos.recipe.template url = ${template-freepbx-configuration:output} output = $${directory:etc}/amportal.conf mode = 0600 virtual-depends = $${asterisk-version:output} $${asterisk-configuration:output} [freepbx-php-configuration] recipe = slapos.recipe.template url = ${template-freepbx-php-configuration:output} output = $${directory:etc}/freepbx.conf mode = 0600 debug-log = $${directory:log}/freepbx_debug.log error-log = $${directory:log}/freepbx_error.log [freepbx-copy-configuration] recipe = slapos.recipe.template url = ${template-freepbx-copy-configuration:output} output = $${directory:bin}/freepbx-copy-configuration mode = 0700 [freepbx-panel-password] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/freepbx-panel-password bytes = 8 [freepbx-ari-login] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/freepbx-ari-login bytes = 8 [freepbx-ari-password] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/freepbx-ari-password bytes = 8 [asterisk-configuration] recipe = slapos.recipe.template url = ${template-asterisk-configuration:output} output = $${directory:astetc}/asterisk.conf mode = 0600 virtual-depends = $${asterisk-cdr-configuration:output} $${asterisk-manager-configuration:output} [asterisk-cdr-configuration] recipe = slapos.recipe.template url = ${template-asterisk-cdr-configuration:output} output = $${directory:astetc}/cdr_mysql.conf mode = 0600 [asterisk-manager-configuration] recipe = slapos.recipe.template url = ${template-asterisk-manager-configuration:output} output = $${directory:astetc}/manager.conf mode = 0600 ip = $${slap-network-information:local-ipv4} port = 5038 [asterisk-manager-login] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/asterisk-manager-login bytes = 8 [asterisk-manager-password] recipe = slapos.cookbook:generate.password storage-path = $${directory:srv}/asterisk-manager-password bytes = 8 [asterisk-version] recipe = slapos.recipe.template url = ${template-asterisk-version:output} output = $${directory:astetc}/version mode = 0600 [asterisk-service] recipe = slapos.recipe.template url = ${template-asterisk-service:output} output = $${directory:services}/asterisk mode = 0700