#!/bin/bash # Renderiza os templates de configuração (que contêm variáveis ${VAR}) usando # as variáveis de ambiente do container, para nunca versionar segredos em # texto puro nos arquivos .conf. /etc/asterisk já vem populado pelo `make # samples` no build da imagem — aqui só sobrepomos/adicionamos os arquivos # específicos do B2BCall (o restante dos samples permanece intacto). set -euo pipefail CONFIG_SRC=/etc/asterisk-templates CONFIG_DST=/etc/asterisk mkdir -p "$CONFIG_DST" # odbc.ini é configuração do sistema (unixODBC), não do Asterisk. if [ -e "$CONFIG_SRC/odbc.ini.tpl" ]; then envsubst < "$CONFIG_SRC/odbc.ini.tpl" > /etc/odbc.ini fi for tpl in "$CONFIG_SRC"/*.conf.tpl; do [ -e "$tpl" ] || continue name="$(basename "$tpl" .tpl)" envsubst < "$tpl" > "$CONFIG_DST/$name" done for f in "$CONFIG_SRC"/*.conf; do [ -e "$f" ] || continue name="$(basename "$f")" cp "$f" "$CONFIG_DST/$name" done # extensions.conf/queues.conf incluem estes arquivos gerados pela aplicação # — precisam existir mesmo vazios no primeiro boot, antes da primeira # publicação (ver DialplanService / QueuesService). mkdir -p /etc/asterisk-generated if [ ! -e /etc/asterisk-generated/b2bcall-dialplan.conf ]; then echo "; vazio até a primeira publicação em Telefonia -> Dialplan" > /etc/asterisk-generated/b2bcall-dialplan.conf fi if [ ! -e /etc/asterisk-generated/b2bcall-queues.conf ]; then echo "; vazio até a primeira publicação em Call Center -> Filas" > /etc/asterisk-generated/b2bcall-queues.conf fi chown -R asterisk:asterisk "$CONFIG_DST" /var/lib/asterisk /var/log/asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk-generated exec "$@"