Alpine-based Asterisk 20.20.1 image extending
the upstream andrius/asterisk:20.20.1-alpine-3.24
image, pinned to its multi-architecture manifest digest in the Dockerfile.
This build adds the matching 20.20.1-r1 ALSA, PostgreSQL, English sound,
music-on-hold, Speex, and SRTP packages. Asterisk 20 is used because it is
the newest upstream Alpine package line that provides this complete module
set.
asterisk-alsaasterisk-pgsqlasterisk-sounds-enasterisk-sounds-mohasterisk-speexasterisk-srtpThe active Forgejo workflow builds this context for linux/amd64 and
linux/arm64, publishing kristianfjones/asterisk:20 to Docker Hub and the
Forgejo container registry. Each workflow run also publishes an immutable
20-build-<Forgejo run number> tag to both registries; use that tag when a
stable digest reference is required. The 20 tag remains the moving
compatibility tag.
The entrypoint is /usr/sbin/asterisk; arguments after the image name are
passed to Asterisk. The Dockerfile does not declare ports or add a health
check; the inherited upstream image supplies its health check.
Expose the SIP, RTP, and any other ports required by the configuration you
mount. Asterisk commonly uses UDP port 5060 for SIP, but the RTP range is
configuration-dependent.
The standard Asterisk paths are:
| Path | Purpose |
|---|---|
/etc/asterisk | Configuration files |
/var/lib/asterisk | Runtime data, sounds, and the internal database |
/var/spool/asterisk | Spool files, recordings, and voicemail |
/var/log/asterisk | File-based logs, when enabled by configuration |
/var/run/asterisk | Runtime socket and PID files |
Provide deployment-specific configuration and persistent storage as needed. Do not put passwords, keys, or tokens in this build context. Review the upstream Asterisk directory layout and running guidance before exposing a service.
For example, with configuration and runtime directories prepared locally:
docker run --rm -it \
-p 5060:5060/udp \
-v "$PWD/etc-asterisk:/etc/asterisk:ro" \
-v "$PWD/var-lib-asterisk:/var/lib/asterisk" \
-v "$PWD/var-spool-asterisk:/var/spool/asterisk" \
core-docker/asterisk:local -cvvv
The example is intentionally limited to SIP signaling; add the RTP port range
from the mounted rtp.conf and any other required protocol ports for a
functional voice deployment.
Run the build from the repository root so the context matches the Dockerfile:
docker build --pull --tag core-docker/asterisk:local Images/Asterisk
docker run --rm core-docker/asterisk:local -V
The base image and its package repository are external supply-chain inputs.
The base tag and digest are pinned to an exact Asterisk and Alpine release.
The renovate comment before FROM provides a Docker dependency hint for
automated digest and version updates. Review the
upstream Alpine image guidance
before making another upgrade.
Content type
Image
Digest
sha256:8363fdde2…
Size
43.9 MB
Last updated
about 4 hours ago
docker pull kristianfjones/asterisk:20-build-107