| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A set of Dockerfiles for running asterisk (and a FastAGI, one for PHP as it stands)
Also checkout my blog article @ dougbtv.com.
You can pull the image from dockerhub.
Which is as simple as running:
docker pull dougbtv/asterisk
Asterisk 13 has been released!
Dockerfile in the root directory is:
The image is backed by bowline (a Docker build server, which I wrote) which watches for the latest tarball from downloads.asterisk.org, builds it into this docker image and then automatically pushes it to dockerhub.
Whenever a new build is created, the bot creates a pull request here, you can check out the latest merged pull requests, and you'll find a link to the results of the build posted on a paste bin. Here's an example automatically generated pull request, and here's an example log.
Bowline is under-work, but, was inspired by my Asterisk dockerfiles, seeing, it takes a while to compile Asterisk. (which is why it's nice to have an up-to-date image available)
Asterisk with SIP tends to use a wide range of UDP ports (for RTP), so we have chosen to run the main aster container with --net=host option, until we can specify port ranges, we're waiting on this PR!
We publish the port for the FastAGI container (which is running xinetd), and then we call the loopback address from AGI. You could separate these and run them on different hosts, should you choose.
An important function is that we need to access the CLI, which we use nsenter for, a shortcut script you'll run from the host is included here as tools/asterisk-cli.sh
This gist of how we get it going (and also memorialized in the tools/run.sh script) is:
NAME_ASTERISK=asterisk
NAME_FASTAGI=fastagi
# Run the fastagi container.
docker run \
-p 4573:4573 \
--name $NAME_FASTAGI
-d -t dougbtv/fastagi
# Run the main asterisk container.
docker run \
--name $NAME_ASTERISK \
--net=host \
-d -t dougbtv/asteriskJust issue, with your current-working-dir as the clone:
docker build -t dougbtv/asterisk .
docker build -t dougbtv/fastagi fastagi/.Let's inspect the important files in the clone
.
|-- Dockerfile
|-- extensions.conf
|-- fastagi/
| |-- agiLaunch.sh
| |-- agi.php
| |-- Dockerfile
| `-- xinetd_agi
|-- iax.conf
|-- modules.conf
|-- README.md
`-- tools/
|-- asterisk-cli.sh
|-- clean.sh
`-- run.sh
In the root dir:
The fastagi/ dir:
In the tools/ dir are some utilities I find myself using over and over:
...Not listed is the asterisk/ dir, where there's a sample build for Asterisk 13 beta. This Dockerfile works. Just getting the ducks in a row for when it's released.
This bot is backed by bowline, which is a Docker build server / application, that I also wrote. It's actually while making these files I was inspired to build this.
This ensures there's a fresh image built and available on Dockerhub. There used to be a prototype here, alas, I have removed it -- I recommend checking out bowline if you're interested.
| Back | FazBrowse Home | New Git URL |