Sign inSign up

kristianfjones/asterisk

By kristianfjones

•Updated about 4 hours ago

Image
0

2.3K

kristianfjones/asterisk repository overview

⁠Asterisk

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-alsa
  • asterisk-pgsql
  • asterisk-sounds-en
  • asterisk-sounds-moh
  • asterisk-speex
  • asterisk-srtp

The 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.

⁠Runtime

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:

PathPurpose
/etc/asteriskConfiguration files
/var/lib/asteriskRuntime data, sounds, and the internal database
/var/spool/asteriskSpool files, recordings, and voicemail
/var/log/asteriskFile-based logs, when enabled by configuration
/var/run/asteriskRuntime 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.

⁠Build and smoke test

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.

Tag summary

Content type

Image

Digest

sha256:8363fdde2…

Size

43.9 MB

Last updated

about 4 hours ago

docker pull kristianfjones/asterisk:20-build-107