Este repositorio contiene la configuración para desplegar una central telefónica IP (PBX) basada en FreePBX 17.0 utilizando Docker Compose. La solución incluye todos los componentes necesarios para un sistema de telefonía IP completo, incluyendo base de datos, servidor web y servicios de telefonía.
- FreePBX 17.0 - Interfaz web de administración
- MariaDB - Base de datos para configuraciones y registros
- Apache - Servidor web local
- Soporte para protocolos VoIP: SIP, IAX2
- Registro de llamadas detallado (CDR)
- Configuración persistente mediante volúmenes Docker
- Docker 20.10.0 o superior
- Docker Compose 1.29.0 o superior
- 2 GB de RAM mínimo (4 GB recomendado)
- 20 GB de espacio en disco
- Puertos 80, 443, 5060, 5160, 4569, 10000-20000/udp disponibles en localhost
-
Clonar el repositorio
git clone [URL_DEL_REPOSITORIO] cd pbx -
Configurar variables de entorno Editar el archivo
.envy modificar las credenciales por defecto:MYSQL_ROOT_PASSWORD=tu_contraseña_segura MYSQL_DATABASE=asterisk MYSQL_USER=asterisk MYSQL_PASSWORD=tu_contraseña_segura -
Iniciar los contenedores
docker-compose up -d
-
Acceder a la interfaz web Abrir en el navegador:
http://localhostohttp://[tu-ip-local]- Usuario: admin
- Contraseña: (configurada durante la instalación)
El sistema está configurado con una red local aislada:
- Red
asteriskpara comunicación interna entre contenedores - Acceso desde la red local mediante la IP del host
-
Cambiar contraseñas por defecto
- Usuario de la base de datos
- Usuario administrador de FreePBX
- Extensiones SIP
-
Restringir acceso
- Configurar el firewall del sistema operativo
- Considerar el uso de VPN para acceso remoto
| Puerto | Protocolo | Uso |
|---|---|---|
| 80 | TCP | Interfaz web HTTP |
| 443 | TCP | Interfaz web HTTPS* |
| 5060 | UDP/TCP | Tráfico SIP |
| 5160 | UDP | Tráfico SIP adicional |
| 4569 | UDP | Protocolo IAX2 |
| 10000-20000 | UDP | Flujo de medios RTP |
*Nota: La configuración HTTPS no está habilitada por defecto en esta instalación local.
.
├── datadb/ # Datos persistentes de MariaDB
├── sql/ # Scripts SQL de inicialización
│ └── 01-databases.sql
├── docker-compose.yml # Configuración de Docker Compose
├── odbc.ini # Configuración ODBC
└── odbcinst.ini # Configuración de drivers ODBC
# Base de datos
docker exec freepbx_mariadb mysqldump -u asterisk -p'asterisk' --all-databases > backup_$(date +%Y%m%d).sql
# Configuraciones
docker cp freepbx_server:/etc/asterisk/ ./config_backup_$(date +%Y%m%d)docker-compose pull
docker-compose down
docker-compose up -dLas contribuciones son bienvenidas. Por favor, abre un issue para discutir los cambios propuestos antes de hacer un pull request.
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.