PearlPBX2
← Всі дописи

PearlPBX2 2.7.1: публічний реліз, ліцензія й повний Docker Compose стек

Версія 2.7.1 — перший публічний реліз PearlPBX2: з’явилася ліцензія, документація для швидкого старту і повний Docker Compose стек, який піднімає весь бекенд одним docker compose up.

Ліцензія та публічні файли

Проєкт випущено за PolyForm Shield License 1.0.0 — джерело коду доступне, використання дозволене для будь-якої мети, включно з власним комерційним розгортанням, за винятком продажу продукту чи сервісу, що конкурує з PearlPBX2. Разом з ліцензією додано LICENSE, NOTICE, CONTRIBUTING.md, QUICKSTART.md зі шляхами встановлення через Ansible і Docker Compose, а також SPDX-заголовки в ключових модулях.

Повний Docker Compose стек

docker-compose.yml тепер піднімає не лише Django й Asterisk, а весь бекенд: fastagi, dashboard-listener та опційний callback-service (через --profile callback), кожен зі своїм Dockerfile. Новий сервіс asterisk-init готує мінімальний manager.conf з увімкненим AMI і патчить modules.conf, щоб завантажити res_crypto.so до першого запуску Asterisk — офіційний образ andrius/asterisk:22 постачається з вимкненим AMI, а без res_crypto навіть власний healthcheck образу не проходить. docker-entrypoint.sh ідемпотентно виконує migrate й collectstatic при кожному старті контейнера django, а docker-compose.override.yml додає bind mount вихідного коду та uvicorn --reload для локальної розробки.

Дрібніші, але відчутні виправлення

  • Статичні файли нарешті віддаються під Docker: доданий whitenoise, оскільки DEBUG=False навіть у режимі розробки, а nginx перед контейнером django відсутній.
  • REDIS_URL у docker-compose.yml був неправильно зібраний із невикористовуваних REDIS_HOST/REDIS_PORT — це ламало /dashboard/ulines/ і потенційно WebSocket-дашборд; тепер змінна виставлена напряму.
  • Вихідні дзвінки тепер зіставляються вебхуками і за таблицею маршрутизації, а не лише за контекстом dialplan — раніше вебхуки, що слухали лише вхідні контексти, ніколи не спрацьовували для вихідних дзвінків.
  • FASTAGI_HOST/FASTAGI_PORT дозволяють запускати FastAGI-сервер не лише на 127.0.0.1:4573 — це потрібно, коли Asterisk працює в окремому контейнері.