
VICIdial in Docker: What Actually Works and What Breaks
Can you run VICIdial in Docker? Yes. Should you do it the way most people try? Absolutely not. We've been running containerized VICIdial in production for two years, handling 400,000+ calls per month. Some months were smooth. Some were 3 AM alerts because a container restart killed 47 active calls. Here's what we learned. The Architecture That Works The first thing nobody tells you: don't containerize everything the same way. Containers work great for: The web frontend (Apache/PHP) — it's stateless, scales horizontally, zero issues. The Perl daemons — they just need TCP access to MySQL and Asterisk AMI. Containers fight you on: Asterisk — needs raw UDP for SIP/RTP, wide port ranges, timing-sensitive operations. MySQL — high-write workloads need proper volume management. The critical rule: Asterisk containers must use network_mode: host . Docker's bridge networking adds NAT that breaks SIP in ways that are painful to debug. One-way audio, registration failures, codec negotiation timeout
Continue reading on Dev.to DevOps
Opens in a new tab


