#!/bin/bash
set -e

# Generate .env from the environment variables docker-compose.yml passes in,
# since the app's config loader (config/config.php) expects a real .env file.
cat > /var/www/html/.env << EOF
DB_HOST=${DB_HOST}
DB_PORT=${DB_PORT}
DB_NAME=${DB_NAME}
DB_USER=${DB_USER}
DB_PASS=${DB_PASS}
APP_ENV=${APP_ENV}
APP_URL=${APP_URL:-}
SESSION_NAME=${SESSION_NAME:-pbx_session}
SIGNALWIRE_SPACE=${SIGNALWIRE_SPACE:-}
SIGNALWIRE_PROJECT_ID=${SIGNALWIRE_PROJECT_ID:-}
SIGNALWIRE_API_TOKEN=${SIGNALWIRE_API_TOKEN:-}
SIGNALWIRE_SIP_DOMAIN=${SIGNALWIRE_SIP_DOMAIN:-}
TTS_PROVIDER=${TTS_PROVIDER:-polly}
AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}
AWS_REGION=${AWS_REGION:-us-east-1}
AZURE_SPEECH_KEY=${AZURE_SPEECH_KEY:-}
AZURE_SPEECH_REGION=${AZURE_SPEECH_REGION:-}
ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY:-}
ELEVENLABS_VOICE_ID=${ELEVENLABS_VOICE_ID:-}
TRANSCRIPTION_PROVIDER=${TRANSCRIPTION_PROVIDER:-whisper}
OPENAI_API_KEY=${OPENAI_API_KEY:-}
SMTP_HOST=${SMTP_HOST:-}
SMTP_PORT=${SMTP_PORT:-587}
SMTP_USER=${SMTP_USER:-}
SMTP_PASS=${SMTP_PASS:-}
SMTP_FROM=${SMTP_FROM:-pbx@localhost}
SMTP_ENCRYPTION=${SMTP_ENCRYPTION:-tls}
ASTERISK_VOICEMAIL_SPOOL=${ASTERISK_VOICEMAIL_SPOOL:-/var/spool/asterisk/voicemail/default}
ASTERISK_VOICEMAIL_CONF_PATH=${ASTERISK_VOICEMAIL_CONF_PATH:-/etc/asterisk-shared/voicemail_pbxapp.conf}
EOF

chown www-data:www-data /var/www/html/.env
chmod 640 /var/www/html/.env

exec "$@"
