Docker build for Asterisk 22 with Opus transcoding support on ARM64 (aarch64).
Sangoma/Digium only provides their proprietary codec_opus binary for x86_64. This build uses the open-source traud/asterisk-opus module to enable Opus transcoding on ARM64.
- Asterisk 22.x built from source
- Opus codec transcoding (WebRTC ↔ ulaw/alaw/g722)
- Optimized multi-stage build (~285MB image)
- UID 1000 for easy bind mount permissions
docker compose buildThe docker-compose.yml is configured for bind-mounting config and data directories:
# Initialize directories from the image first
docker create --name asterisk-init asterisk_opus-asterisk:latest
docker cp asterisk-init:/etc/asterisk ./etc/
docker cp asterisk-init:/var/lib/asterisk ./var/lib/
docker rm asterisk-init
# Start
docker compose up -ddocker exec <container> asterisk -rx "module show like opus"
docker exec <container> asterisk -rx "core show translation paths opus"- traud/asterisk-opus - Open source Opus codec module
- andrius/asterisk - Dockerfile optimization techniques