From 20944d3071a255af8ccdd3ecd7a1d11052328767 Mon Sep 17 00:00:00 2001 From: Andrius Kairiukstis Date: Mon, 21 Feb 2022 23:08:00 +0100 Subject: [PATCH] make repository great again ;) --- .github/FUNDING.yml | 1 + .gitignore | 4 +- Makefile | 35 +++-- alpine/3.1/Dockerfile | 18 ++- alpine/3.10/Dockerfile | 14 +- alpine/3.11/Dockerfile | 14 +- alpine/3.11/hooks/post_push | 2 +- alpine/{2.6 => 3.12}/Dockerfile | 24 +-- alpine/{2.6 => 3.12}/docker-entrypoint.sh | 0 .../3.12}/hooks/post_push | 2 +- alpine/{2.7 => 3.13}/Dockerfile | 24 +-- alpine/{2.7 => 3.13}/docker-entrypoint.sh | 0 alpine/{2.7 => 3.13}/hooks/post_push | 2 +- alpine/3.14/Dockerfile | 31 ++++ alpine/3.14/docker-entrypoint.sh | 27 ++++ alpine/3.14/hooks/post_push | 15 ++ alpine/3.15/Dockerfile | 31 ++++ alpine/3.15/docker-entrypoint.sh | 27 ++++ alpine/3.15/hooks/post_push | 15 ++ alpine/3.2/Dockerfile | 18 ++- alpine/3.3/Dockerfile | 14 +- alpine/3.4/Dockerfile | 14 +- alpine/3.5/Dockerfile | 14 +- alpine/3.6/Dockerfile | 14 +- alpine/3.7/Dockerfile | 14 +- alpine/3.8/Dockerfile | 13 +- alpine/3.9/Dockerfile | 13 +- alpine/edge/Dockerfile | 13 +- alpine/glibc/Dockerfile | 13 +- alpine/glibc/hooks/post_push | 2 +- alpine/latest/Dockerfile | 13 +- debian/13-certified/Dockerfile | 2 +- debian/14.7.8/Dockerfile-centos | 145 ------------------ debian/15.7.4/Dockerfile-centos | 145 ------------------ debian/16-certified/Dockerfile | 2 +- debian/16-certified/hooks/post_push | 2 +- debian/16-current/Dockerfile-centos | 145 ------------------ debian/17-current/Dockerfile-centos | 145 ------------------ debian/{17-current => 17.9.4}/Dockerfile | 2 +- .../{17-current => 17.9.4}/build-asterisk.sh | 0 .../docker-entrypoint.sh | 0 {alpine/2.6 => debian/17.9.4}/hooks/post_push | 2 +- debian/18-current/Dockerfile | 17 ++ debian/18-current/build-asterisk.sh | 142 +++++++++++++++++ debian/18-current/docker-entrypoint.sh | 24 +++ .../hooks/post_push | 2 +- test/asterisk.bats | 11 -- tests/asterisk.bats | 34 ++++ 48 files changed, 542 insertions(+), 719 deletions(-) create mode 100644 .github/FUNDING.yml rename alpine/{2.6 => 3.12}/Dockerfile (50%) rename alpine/{2.6 => 3.12}/docker-entrypoint.sh (100%) rename {debian/stretch-17-current => alpine/3.12}/hooks/post_push (90%) rename alpine/{2.7 => 3.13}/Dockerfile (50%) rename alpine/{2.7 => 3.13}/docker-entrypoint.sh (100%) rename alpine/{2.7 => 3.13}/hooks/post_push (90%) create mode 100644 alpine/3.14/Dockerfile create mode 100755 alpine/3.14/docker-entrypoint.sh create mode 100644 alpine/3.14/hooks/post_push create mode 100644 alpine/3.15/Dockerfile create mode 100755 alpine/3.15/docker-entrypoint.sh create mode 100644 alpine/3.15/hooks/post_push delete mode 100644 debian/14.7.8/Dockerfile-centos delete mode 100644 debian/15.7.4/Dockerfile-centos delete mode 100644 debian/16-current/Dockerfile-centos delete mode 100644 debian/17-current/Dockerfile-centos rename debian/{17-current => 17.9.4}/Dockerfile (94%) rename debian/{17-current => 17.9.4}/build-asterisk.sh (100%) rename debian/{17-current => 17.9.4}/docker-entrypoint.sh (100%) rename {alpine/2.6 => debian/17.9.4}/hooks/post_push (92%) create mode 100644 debian/18-current/Dockerfile create mode 100755 debian/18-current/build-asterisk.sh create mode 100755 debian/18-current/docker-entrypoint.sh rename debian/{17-current => 18-current}/hooks/post_push (92%) delete mode 100644 test/asterisk.bats create mode 100644 tests/asterisk.bats diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..ec0c515 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: [andrius] diff --git a/.gitignore b/.gitignore index 80a4147..fd38e24 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -/test/bats +/tests/bats +/temp +/tmp diff --git a/Makefile b/Makefile index fb6938e..cb7f1db 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,12 @@ IMAGE_NAME := andrius/asterisk X86_IMAGES := \ alpine/edge:edge \ alpine/latest:latest \ - alpine/glibc:glibc_latest,alpine_glibc-16.x,glibc-16.x,alpine_glibc-16.3.0,glibc-16.3.0 \ - alpine/3.11:3.11-16.6.2,16.x \ + alpine/glibc:glibc_latest,alpine_glibc-18.x,glibc-18.x,alpine_glibc-18.2.2,glibc-18.2.2 \ + alpine/3.15:3.15-18.2.2,18.x \ + alpine/3.14:3.14-18.2.2 \ + alpine/3.13:3.13-18.2.1 \ + alpine/3.12:3.12-16.16.1,16.x \ + alpine/3.11:3.11-16.6.2 \ alpine/3.10:3.10-16.3.0 \ alpine/3.9:3.9-15.7.4,15.x \ alpine/3.8:3.8-15.6.2 \ @@ -18,11 +22,10 @@ X86_IMAGES := \ alpine/3.3:3.3-13.17.2 \ alpine/3.2:3.2-13.3.2 \ alpine/3.1:3.1-13.3.2 \ - alpine/2.7:2.7-11.25.1,11.x \ - alpine/2.6:2.6-11.6.1 \ - debian/17-current:17-current \ + debian/18-current:18-current \ + debian/17.9.4:17.9.4 \ debian/16-current:16-current \ - debian/16-certified:16-certified,16.3-cert \ + debian/16-certified:16-certified,16.8-cert \ debian/13-current:13-current \ debian/13-certified:13-certified,13.21-cert \ debian/15.7.4:15.7.4 \ @@ -255,7 +258,7 @@ endif test: deps.bats DOCKERFILE=$(DOCKERFILE) IMAGE=$(IMAGE_NAME):$(VERSION) \ - ./test/bats/bin/bats --pretty ./test/asterisk.bats + ./tests/bats/bin/bats -t ./tests/asterisk.bats @@ -264,18 +267,18 @@ test: deps.bats # Usage: # make deps.bats [BATS_VER=] -BATS_VER ?= 1.2.1 +BATS_VER ?= 1.5.0 deps.bats: -ifeq ($(wildcard $(PWD)/test/bats),) - mkdir -p $(PWD)/test/bats +ifeq ($(wildcard $(PWD)/tests/bats),) + mkdir -p $(PWD)/tests/bats wget https://github.com/bats-core/bats-core/archive/v$(BATS_VER).tar.gz \ - -O $(PWD)/test/bats/bats.tar.gz - tar -xzf $(PWD)/test/bats/bats.tar.gz -C $(PWD)/test/bats - $(PWD)/test/bats/bats-core-$(BATS_VER)/install.sh $(PWD)/test/bats - rm -rf $(PWD)/test/bats/bats.tar.gz \ - $(PWD)/test/bats/bats-core-$(BATS_VER) \ - $(PWD)/test/bats/share + -O $(PWD)/tests/bats/bats.tar.gz + tar -xzf $(PWD)/tests/bats/bats.tar.gz -C $(PWD)/tests/bats + $(PWD)/tests/bats/bats-core-$(BATS_VER)/install.sh $(PWD)/tests/bats + rm -rf $(PWD)/tests/bats/bats.tar.gz \ + $(PWD)/tests/bats/bats-core-$(BATS_VER) \ + $(PWD)/tests/bats/share endif diff --git a/alpine/3.1/Dockerfile b/alpine/3.1/Dockerfile index a862287..29b0df9 100644 --- a/alpine/3.1/Dockerfile +++ b/alpine/3.1/Dockerfile @@ -3,20 +3,22 @@ FROM alpine:3.1 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 ast \ -&& sleep 1 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ && chown -R asterisk: /var/spool/asterisk \ -&& rm -rf /var/cache/apk/* \ - /tmp/* \ - /var/tmp/* +&& rm -rf /var/cache/apk/* \ + /tmp/* \ + /var/tmp/* EXPOSE 5060/udp 5060/tcp VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk diff --git a/alpine/3.10/Dockerfile b/alpine/3.10/Dockerfile index 1a09e34..5ad69e8 100644 --- a/alpine/3.10/Dockerfile +++ b/alpine/3.10/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.10 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.11/Dockerfile b/alpine/3.11/Dockerfile index 3ddd0a8..2d79c10 100644 --- a/alpine/3.11/Dockerfile +++ b/alpine/3.11/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.11 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.11/hooks/post_push b/alpine/3.11/hooks/post_push index fa6ac9e..8a77f83 100644 --- a/alpine/3.11/hooks/post_push +++ b/alpine/3.11/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {3.11-16.6.2,16.x}; do +for tag in {3.11-16.6.2}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/alpine/2.6/Dockerfile b/alpine/3.12/Dockerfile similarity index 50% rename from alpine/2.6/Dockerfile rename to alpine/3.12/Dockerfile index 1b2f940..78ea6d9 100644 --- a/alpine/2.6/Dockerfile +++ b/alpine/3.12/Dockerfile @@ -1,21 +1,27 @@ # vim:set ft=dockerfile: -FROM alpine:2.6 +FROM alpine:3.12 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ -&& pkill -9 ast \ -&& sleep 1 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ +&& pkill -9 asterisk \ +&& pkill -9 astcanary \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ && chown -R asterisk: /var/spool/asterisk \ -&& rm -rf /var/cache/apk/* \ - /tmp/* \ - /var/tmp/* +&& truncate -s 0 /var/log/asterisk/messages \ + /var/log/asterisk/queue_log \ +&& rm -rf /var/cache/apk/* \ + /tmp/* \ + /var/tmp/* EXPOSE 5060/udp 5060/tcp VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk diff --git a/alpine/2.6/docker-entrypoint.sh b/alpine/3.12/docker-entrypoint.sh similarity index 100% rename from alpine/2.6/docker-entrypoint.sh rename to alpine/3.12/docker-entrypoint.sh diff --git a/debian/stretch-17-current/hooks/post_push b/alpine/3.12/hooks/post_push similarity index 90% rename from debian/stretch-17-current/hooks/post_push rename to alpine/3.12/hooks/post_push index 5cac625..8258420 100644 --- a/debian/stretch-17-current/hooks/post_push +++ b/alpine/3.12/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {stretch-17-current}; do +for tag in {3.12-16.16.1,16.x}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/alpine/2.7/Dockerfile b/alpine/3.13/Dockerfile similarity index 50% rename from alpine/2.7/Dockerfile rename to alpine/3.13/Dockerfile index a0dfd4c..51644d7 100644 --- a/alpine/2.7/Dockerfile +++ b/alpine/3.13/Dockerfile @@ -1,21 +1,27 @@ # vim:set ft=dockerfile: -FROM alpine:2.7 +FROM alpine:3.13 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ -&& pkill -9 ast \ -&& sleep 1 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ +&& pkill -9 asterisk \ +&& pkill -9 astcanary \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ && chown -R asterisk: /var/spool/asterisk \ -&& rm -rf /var/cache/apk/* \ - /tmp/* \ - /var/tmp/* +&& truncate -s 0 /var/log/asterisk/messages \ + /var/log/asterisk/queue_log \ +&& rm -rf /var/cache/apk/* \ + /tmp/* \ + /var/tmp/* EXPOSE 5060/udp 5060/tcp VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk diff --git a/alpine/2.7/docker-entrypoint.sh b/alpine/3.13/docker-entrypoint.sh similarity index 100% rename from alpine/2.7/docker-entrypoint.sh rename to alpine/3.13/docker-entrypoint.sh diff --git a/alpine/2.7/hooks/post_push b/alpine/3.13/hooks/post_push similarity index 90% rename from alpine/2.7/hooks/post_push rename to alpine/3.13/hooks/post_push index 87afb3e..b936864 100644 --- a/alpine/2.7/hooks/post_push +++ b/alpine/3.13/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {2.7-11.25.1,11.x}; do +for tag in {3.13-18.2.1}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/alpine/3.14/Dockerfile b/alpine/3.14/Dockerfile new file mode 100644 index 0000000..b98adf9 --- /dev/null +++ b/alpine/3.14/Dockerfile @@ -0,0 +1,31 @@ +# vim:set ft=dockerfile: +FROM alpine:3.14 + +MAINTAINER Andrius Kairiukstis + +RUN apk add --update --no-cache --quiet \ + asterisk \ + asterisk-sample-config \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ +&& pkill -9 asterisk \ +&& pkill -9 astcanary \ +&& sleep 1s \ +&& rm -rf /var/run/asterisk/* \ +&& mkdir -p /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ +&& truncate -s 0 /var/log/asterisk/messages \ + /var/log/asterisk/queue_log \ +&& rm -rf /var/cache/apk/* \ + /tmp/* \ + /var/tmp/* + +EXPOSE 5060/udp 5060/tcp +VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk + +ADD docker-entrypoint.sh /docker-entrypoint.sh + +ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/alpine/3.14/docker-entrypoint.sh b/alpine/3.14/docker-entrypoint.sh new file mode 100755 index 0000000..f08b45e --- /dev/null +++ b/alpine/3.14/docker-entrypoint.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# run as user asterisk by default +ASTERISK_USER=${ASTERISK_USER:-asterisk} +ASTERISK_GROUP=${ASTERISK_GROUP:-${ASTERISK_USER}} + +if [ "$1" = "" ]; then + COMMAND="/usr/sbin/asterisk -T -W -U ${ASTERISK_USER} -p -vvvdddf" +else + COMMAND="$@" +fi + +if [ "${ASTERISK_UID}" != "" ] && [ "${ASTERISK_GID}" != "" ]; then + # recreate user and group for asterisk + # if they've sent as env variables (i.e. to macth with host user to fix permissions for mounted folders + + deluser asterisk && \ + addgroup -g ${ASTERISK_GID} ${ASTERISK_GROUP} && \ + adduser -D -H -u ${ASTERISK_UID} -G ${ASTERISK_GROUP} ${ASTERISK_USER} \ + || exit +fi + +chown -R ${ASTERISK_USER}: /var/log/asterisk \ + /var/lib/asterisk \ + /var/run/asterisk \ + /var/spool/asterisk; \ +exec ${COMMAND} diff --git a/alpine/3.14/hooks/post_push b/alpine/3.14/hooks/post_push new file mode 100644 index 0000000..48b006f --- /dev/null +++ b/alpine/3.14/hooks/post_push @@ -0,0 +1,15 @@ +#!/bin/bash +# AUTOMATICALLY GENERATED +# DO NOT EDIT THIS FILE DIRECTLY, USE /post_push.erb + +set -e + +# Parse image name for repo name +tagStart=$(expr index "$IMAGE_NAME" :) +repoName=${IMAGE_NAME:0:tagStart-1} + +# Tag and push image for each additional tag +for tag in {3.14-18.2.2}; do + docker tag $IMAGE_NAME ${repoName}:${tag} + docker push ${repoName}:${tag} +done diff --git a/alpine/3.15/Dockerfile b/alpine/3.15/Dockerfile new file mode 100644 index 0000000..74efd24 --- /dev/null +++ b/alpine/3.15/Dockerfile @@ -0,0 +1,31 @@ +# vim:set ft=dockerfile: +FROM alpine:3.15 + +MAINTAINER Andrius Kairiukstis + +RUN apk add --update --no-cache --quiet \ + asterisk \ + asterisk-sample-config \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ +&& pkill -9 asterisk \ +&& pkill -9 astcanary \ +&& sleep 1s \ +&& rm -rf /var/run/asterisk/* \ +&& mkdir -p /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ +&& truncate -s 0 /var/log/asterisk/messages \ + /var/log/asterisk/queue_log \ +&& rm -rf /var/cache/apk/* \ + /tmp/* \ + /var/tmp/* + +EXPOSE 5060/udp 5060/tcp +VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk + +ADD docker-entrypoint.sh /docker-entrypoint.sh + +ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/alpine/3.15/docker-entrypoint.sh b/alpine/3.15/docker-entrypoint.sh new file mode 100755 index 0000000..f08b45e --- /dev/null +++ b/alpine/3.15/docker-entrypoint.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# run as user asterisk by default +ASTERISK_USER=${ASTERISK_USER:-asterisk} +ASTERISK_GROUP=${ASTERISK_GROUP:-${ASTERISK_USER}} + +if [ "$1" = "" ]; then + COMMAND="/usr/sbin/asterisk -T -W -U ${ASTERISK_USER} -p -vvvdddf" +else + COMMAND="$@" +fi + +if [ "${ASTERISK_UID}" != "" ] && [ "${ASTERISK_GID}" != "" ]; then + # recreate user and group for asterisk + # if they've sent as env variables (i.e. to macth with host user to fix permissions for mounted folders + + deluser asterisk && \ + addgroup -g ${ASTERISK_GID} ${ASTERISK_GROUP} && \ + adduser -D -H -u ${ASTERISK_UID} -G ${ASTERISK_GROUP} ${ASTERISK_USER} \ + || exit +fi + +chown -R ${ASTERISK_USER}: /var/log/asterisk \ + /var/lib/asterisk \ + /var/run/asterisk \ + /var/spool/asterisk; \ +exec ${COMMAND} diff --git a/alpine/3.15/hooks/post_push b/alpine/3.15/hooks/post_push new file mode 100644 index 0000000..4e2a04e --- /dev/null +++ b/alpine/3.15/hooks/post_push @@ -0,0 +1,15 @@ +#!/bin/bash +# AUTOMATICALLY GENERATED +# DO NOT EDIT THIS FILE DIRECTLY, USE /post_push.erb + +set -e + +# Parse image name for repo name +tagStart=$(expr index "$IMAGE_NAME" :) +repoName=${IMAGE_NAME:0:tagStart-1} + +# Tag and push image for each additional tag +for tag in {3.15-18.2.2,18.x}; do + docker tag $IMAGE_NAME ${repoName}:${tag} + docker push ${repoName}:${tag} +done diff --git a/alpine/3.2/Dockerfile b/alpine/3.2/Dockerfile index 3d7e33e..3b3a69d 100644 --- a/alpine/3.2/Dockerfile +++ b/alpine/3.2/Dockerfile @@ -3,20 +3,22 @@ FROM alpine:3.2 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 ast \ -&& sleep 1 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ && chown -R asterisk: /var/spool/asterisk \ -&& rm -rf /var/cache/apk/* \ - /tmp/* \ - /var/tmp/* +&& rm -rf /var/cache/apk/* \ + /tmp/* \ + /var/tmp/* EXPOSE 5060/udp 5060/tcp VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk diff --git a/alpine/3.3/Dockerfile b/alpine/3.3/Dockerfile index b9ded8c..aaa31b3 100644 --- a/alpine/3.3/Dockerfile +++ b/alpine/3.3/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.3 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.4/Dockerfile b/alpine/3.4/Dockerfile index d92ef89..a5b2f0f 100644 --- a/alpine/3.4/Dockerfile +++ b/alpine/3.4/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.4 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.5/Dockerfile b/alpine/3.5/Dockerfile index 14d70f1..1568746 100644 --- a/alpine/3.5/Dockerfile +++ b/alpine/3.5/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.5 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.6/Dockerfile b/alpine/3.6/Dockerfile index fe14766..08d2c39 100644 --- a/alpine/3.6/Dockerfile +++ b/alpine/3.6/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.6 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.7/Dockerfile b/alpine/3.7/Dockerfile index eb42bae..2a199c3 100644 --- a/alpine/3.7/Dockerfile +++ b/alpine/3.7/Dockerfile @@ -3,18 +3,20 @@ FROM alpine:3.7 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& rm -rf /usr/lib/asterisk/modules/*pjsip* \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.8/Dockerfile b/alpine/3.8/Dockerfile index b7360ba..ce1c8db 100644 --- a/alpine/3.8/Dockerfile +++ b/alpine/3.8/Dockerfile @@ -3,17 +3,20 @@ FROM alpine:3.8 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/3.9/Dockerfile b/alpine/3.9/Dockerfile index f2f179b..7e570f1 100644 --- a/alpine/3.9/Dockerfile +++ b/alpine/3.9/Dockerfile @@ -3,17 +3,20 @@ FROM alpine:3.9 MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/edge/Dockerfile b/alpine/edge/Dockerfile index 590bfe9..abe51b6 100644 --- a/alpine/edge/Dockerfile +++ b/alpine/edge/Dockerfile @@ -3,17 +3,20 @@ FROM alpine:edge MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/glibc/Dockerfile b/alpine/glibc/Dockerfile index 6bcd86c..9a120bf 100644 --- a/alpine/glibc/Dockerfile +++ b/alpine/glibc/Dockerfile @@ -3,17 +3,20 @@ FROM frolvlad/alpine-glibc LABEL maintainer="Andrius Kairiukstis " -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/alpine/glibc/hooks/post_push b/alpine/glibc/hooks/post_push index 0b3358a..1172a0c 100644 --- a/alpine/glibc/hooks/post_push +++ b/alpine/glibc/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {glibc_latest,alpine_glibc-16.x,glibc-16.x,alpine_glibc-16.3.0,glibc-16.3.0}; do +for tag in {glibc_latest,alpine_glibc-18.x,glibc-18.x,alpine_glibc-18.2.2,glibc-18.2.2}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/alpine/latest/Dockerfile b/alpine/latest/Dockerfile index 6c3a8ea..79c175a 100644 --- a/alpine/latest/Dockerfile +++ b/alpine/latest/Dockerfile @@ -3,17 +3,20 @@ FROM alpine:latest MAINTAINER Andrius Kairiukstis -RUN apk add --update \ +RUN apk add --update --no-cache --quiet \ asterisk \ asterisk-sample-config \ -&& asterisk -U asterisk \ -&& sleep 5 \ + >/dev/null \ +&& asterisk -U asterisk &>/dev/null \ +&& sleep 5s \ +&& [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \ + || rm -rf /usr/lib/asterisk/modules/*pj* \ && pkill -9 asterisk \ && pkill -9 astcanary \ -&& sleep 2 \ +&& sleep 1s \ && rm -rf /var/run/asterisk/* \ && mkdir -p /var/spool/asterisk/fax \ -&& chown -R asterisk: /var/spool/asterisk/fax \ +&& chown -R asterisk: /var/spool/asterisk \ && truncate -s 0 /var/log/asterisk/messages \ /var/log/asterisk/queue_log \ && rm -rf /var/cache/apk/* \ diff --git a/debian/13-certified/Dockerfile b/debian/13-certified/Dockerfile index e4676fa..b3d5af6 100644 --- a/debian/13-certified/Dockerfile +++ b/debian/13-certified/Dockerfile @@ -3,7 +3,7 @@ FROM debian:buster-slim LABEL maintainer="Andrius Kairiukstis " -ENV ASTERISK_VERSION asterisk-certified-13.21-current +ENV ASTERISK_VERSION asterisk-certified-13.21-cert6 ENV OPUS_CODEC asterisk-13.0/x86-64/codec_opus-13.0_current-x86_64 COPY build-asterisk.sh / diff --git a/debian/14.7.8/Dockerfile-centos b/debian/14.7.8/Dockerfile-centos deleted file mode 100644 index 0257721..0000000 --- a/debian/14.7.8/Dockerfile-centos +++ /dev/null @@ -1,145 +0,0 @@ -FROM centos:6 - -MAINTAINER Andrius Kairiukstis - -RUN yum -y install gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel openssl-devel \ - newt-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel sqlite-devel curl bison supervisor \ - && mkdir /tmp/asterisk \ - && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ - && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ - && cd /tmp/asterisk \ - && ./configure --libdir=/usr/lib64 \ - && make menuselect \ - && menuselect/menuselect \ - --disable-all \ - --disable-category MENUSELECT_ADDONS \ - --disable-category MENUSELECT_APPS \ - --disable-category MENUSELECT_BRIDGES \ - --disable-category MENUSELECT_CDR \ - --disable-category MENUSELECT_CEL \ - --disable-category MENUSELECT_CHANNELS \ - --enable-category MENUSELECT_CODECS \ - --enable-category MENUSELECT_FORMATS \ - --disable-category MENUSELECT_FUNCS \ - --disable-category MENUSELECT_PBX \ - --disable-category MENUSELECT_RES \ - --disable-category MENUSELECT_TESTS \ - --disable-category MENUSELECT_UTILS \ - --disable-category MENUSELECT_AGIS \ - --disable-category MENUSELECT_EMBED \ - --enable-category MENUSELECT_CORE_SOUNDS \ - --enable-category MENUSELECT_MOH \ - --enable-category MENUSELECT_EXTRA_SOUNDS \ - --disable-category MENUSELECT_TESTS \ - --enable-category MENUSELECT_OPTS_app_voicemail \ - --enable func_module \ - --enable LOADABLE_MODULES \ - --enable FILE_STORAGE \ - --disable codec_dahdi \ - --enable app_dial \ - --enable app_exec \ - --enable app_originate \ - --enable app_verbose \ - --enable chan_sip \ - --enable pbx_config \ - --enable res_agi \ - --enable res_convert \ - --enable res_musiconhold \ - --enable res_timing_timerfd \ - --disable BUILD_NATIVE \ - menuselect.makeopts \ - && make config \ - && make \ - && make install \ - && mkdir -p /var/lib/asterisk/phoneprov \ - && make samples \ - && make dist-clean \ - && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ - && cd .. \ - && rm /tmp/asterisk.tar.gz \ - && rm -rf /tmp/asterisk \ - && yum -y clean all \ - && rm -rf /var/cache/yum/* - - -# RUN yum -y update \ -# && yum -y install epel-release \ -# && yum -y install kernel-headers gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel sqlite sqlite-devel \ -# mysql-devel openssl-devel newt-devel kernel-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel \ -# curl pcre-devel bison mysql-devel ngrep tmux \ -# && mkdir /tmp/asterisk \ -# && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ -# && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ -# && cd /tmp/asterisk \ -# && ./configure --libdir=/usr/lib64 \ -# && make menuselect \ -# && menuselect/menuselect \ -# --disable-category MENUSELECT_ADDONS \ -# --disable-category MENUSELECT_APPS \ -# --disable-category MENUSELECT_BRIDGES \ -# --disable-category MENUSELECT_CDR \ -# --disable-category MENUSELECT_CEL \ -# --disable-category MENUSELECT_CHANNELS \ -# --enable-category MENUSELECT_CODECS \ -# --enable-category MENUSELECT_FORMATS \ -# --disable-category MENUSELECT_FUNCS \ -# --disable-category MENUSELECT_PBX \ -# --disable-category MENUSELECT_RES \ -# --disable-category MENUSELECT_TESTS \ -# --disable-category MENUSELECT_OPTS_app_voicemail \ -# --disable-category MENUSELECT_UTILS \ -# --disable-category MENUSELECT_AGIS \ -# --disable-category MENUSELECT_EMBED \ -# --disable-category MENUSELECT_CORE_SOUNDS \ -# --disable-category MENUSELECT_MOH \ -# --disable-category MENUSELECT_EXTRA_SOUNDS \ -# --enable app_controlplayback \ -# --enable app_dial \ -# --enable app_exec \ -# --enable app_originate \ -# --enable app_queue \ -# --enable app_record \ -# --enable app_senddtmf \ -# --enable app_stasis \ -# --enable app_verbose \ -# --enable app_waituntil \ -# --enable chan_sip \ -# --enable pbx_config \ -# --enable pbx_realtime \ -# --enable res_agi \ -# --enable res_ari \ -# --enable res_ari_channels \ -# --enable res_ari_events \ -# --enable res_ari_playbacks \ -# --enable res_ari_recordings \ -# --enable res_ari_sounds \ -# --enable res_ari_device_states \ -# --enable res_realtime \ -# --enable res_rtp_asterisk \ -# --enable res_rtp_multicast \ -# --enable res_stasis \ -# --enable res_stasis_answer \ -# --enable res_stasis_device_state \ -# --enable res_stasis_playback \ -# --enable res_stasis_recording \ -# --enable res_stun_monitor \ -# --enable res_timing_timerfd \ -# --enable func_callcompletion \ -# --enable func_callerid \ -# --disable BUILD_NATIVE \ -# menuselect.makeopts \ -# && make config \ -# && make \ -# && make install \ -# && mkdir -p /var/lib/asterisk/phoneprov \ -# && make samples \ -# && make dist-clean \ -# && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ -# && cd .. \ -# && rm /tmp/asterisk.tar.gz \ -# && rm -rf /tmp/asterisk \ -# && yum -y clean all \ -# && rm -rf /var/cache/yum/* -# -# CMD asterisk -fvvvvv - diff --git a/debian/15.7.4/Dockerfile-centos b/debian/15.7.4/Dockerfile-centos deleted file mode 100644 index 0257721..0000000 --- a/debian/15.7.4/Dockerfile-centos +++ /dev/null @@ -1,145 +0,0 @@ -FROM centos:6 - -MAINTAINER Andrius Kairiukstis - -RUN yum -y install gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel openssl-devel \ - newt-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel sqlite-devel curl bison supervisor \ - && mkdir /tmp/asterisk \ - && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ - && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ - && cd /tmp/asterisk \ - && ./configure --libdir=/usr/lib64 \ - && make menuselect \ - && menuselect/menuselect \ - --disable-all \ - --disable-category MENUSELECT_ADDONS \ - --disable-category MENUSELECT_APPS \ - --disable-category MENUSELECT_BRIDGES \ - --disable-category MENUSELECT_CDR \ - --disable-category MENUSELECT_CEL \ - --disable-category MENUSELECT_CHANNELS \ - --enable-category MENUSELECT_CODECS \ - --enable-category MENUSELECT_FORMATS \ - --disable-category MENUSELECT_FUNCS \ - --disable-category MENUSELECT_PBX \ - --disable-category MENUSELECT_RES \ - --disable-category MENUSELECT_TESTS \ - --disable-category MENUSELECT_UTILS \ - --disable-category MENUSELECT_AGIS \ - --disable-category MENUSELECT_EMBED \ - --enable-category MENUSELECT_CORE_SOUNDS \ - --enable-category MENUSELECT_MOH \ - --enable-category MENUSELECT_EXTRA_SOUNDS \ - --disable-category MENUSELECT_TESTS \ - --enable-category MENUSELECT_OPTS_app_voicemail \ - --enable func_module \ - --enable LOADABLE_MODULES \ - --enable FILE_STORAGE \ - --disable codec_dahdi \ - --enable app_dial \ - --enable app_exec \ - --enable app_originate \ - --enable app_verbose \ - --enable chan_sip \ - --enable pbx_config \ - --enable res_agi \ - --enable res_convert \ - --enable res_musiconhold \ - --enable res_timing_timerfd \ - --disable BUILD_NATIVE \ - menuselect.makeopts \ - && make config \ - && make \ - && make install \ - && mkdir -p /var/lib/asterisk/phoneprov \ - && make samples \ - && make dist-clean \ - && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ - && cd .. \ - && rm /tmp/asterisk.tar.gz \ - && rm -rf /tmp/asterisk \ - && yum -y clean all \ - && rm -rf /var/cache/yum/* - - -# RUN yum -y update \ -# && yum -y install epel-release \ -# && yum -y install kernel-headers gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel sqlite sqlite-devel \ -# mysql-devel openssl-devel newt-devel kernel-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel \ -# curl pcre-devel bison mysql-devel ngrep tmux \ -# && mkdir /tmp/asterisk \ -# && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ -# && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ -# && cd /tmp/asterisk \ -# && ./configure --libdir=/usr/lib64 \ -# && make menuselect \ -# && menuselect/menuselect \ -# --disable-category MENUSELECT_ADDONS \ -# --disable-category MENUSELECT_APPS \ -# --disable-category MENUSELECT_BRIDGES \ -# --disable-category MENUSELECT_CDR \ -# --disable-category MENUSELECT_CEL \ -# --disable-category MENUSELECT_CHANNELS \ -# --enable-category MENUSELECT_CODECS \ -# --enable-category MENUSELECT_FORMATS \ -# --disable-category MENUSELECT_FUNCS \ -# --disable-category MENUSELECT_PBX \ -# --disable-category MENUSELECT_RES \ -# --disable-category MENUSELECT_TESTS \ -# --disable-category MENUSELECT_OPTS_app_voicemail \ -# --disable-category MENUSELECT_UTILS \ -# --disable-category MENUSELECT_AGIS \ -# --disable-category MENUSELECT_EMBED \ -# --disable-category MENUSELECT_CORE_SOUNDS \ -# --disable-category MENUSELECT_MOH \ -# --disable-category MENUSELECT_EXTRA_SOUNDS \ -# --enable app_controlplayback \ -# --enable app_dial \ -# --enable app_exec \ -# --enable app_originate \ -# --enable app_queue \ -# --enable app_record \ -# --enable app_senddtmf \ -# --enable app_stasis \ -# --enable app_verbose \ -# --enable app_waituntil \ -# --enable chan_sip \ -# --enable pbx_config \ -# --enable pbx_realtime \ -# --enable res_agi \ -# --enable res_ari \ -# --enable res_ari_channels \ -# --enable res_ari_events \ -# --enable res_ari_playbacks \ -# --enable res_ari_recordings \ -# --enable res_ari_sounds \ -# --enable res_ari_device_states \ -# --enable res_realtime \ -# --enable res_rtp_asterisk \ -# --enable res_rtp_multicast \ -# --enable res_stasis \ -# --enable res_stasis_answer \ -# --enable res_stasis_device_state \ -# --enable res_stasis_playback \ -# --enable res_stasis_recording \ -# --enable res_stun_monitor \ -# --enable res_timing_timerfd \ -# --enable func_callcompletion \ -# --enable func_callerid \ -# --disable BUILD_NATIVE \ -# menuselect.makeopts \ -# && make config \ -# && make \ -# && make install \ -# && mkdir -p /var/lib/asterisk/phoneprov \ -# && make samples \ -# && make dist-clean \ -# && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ -# && cd .. \ -# && rm /tmp/asterisk.tar.gz \ -# && rm -rf /tmp/asterisk \ -# && yum -y clean all \ -# && rm -rf /var/cache/yum/* -# -# CMD asterisk -fvvvvv - diff --git a/debian/16-certified/Dockerfile b/debian/16-certified/Dockerfile index 44a0329..cd899cb 100644 --- a/debian/16-certified/Dockerfile +++ b/debian/16-certified/Dockerfile @@ -3,7 +3,7 @@ FROM debian:buster-slim LABEL maintainer="Andrius Kairiukstis " -ENV ASTERISK_VERSION asterisk-certified-16.3-current +ENV ASTERISK_VERSION asterisk-certified-16.8-current ENV OPUS_CODEC asterisk-16.0/x86-64/codec_opus-16.0_current-x86_64 COPY build-asterisk.sh / diff --git a/debian/16-certified/hooks/post_push b/debian/16-certified/hooks/post_push index 20eb598..d49b01d 100644 --- a/debian/16-certified/hooks/post_push +++ b/debian/16-certified/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {16-certified,16.3-cert}; do +for tag in {16-certified,16.8-cert}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/debian/16-current/Dockerfile-centos b/debian/16-current/Dockerfile-centos deleted file mode 100644 index 0257721..0000000 --- a/debian/16-current/Dockerfile-centos +++ /dev/null @@ -1,145 +0,0 @@ -FROM centos:6 - -MAINTAINER Andrius Kairiukstis - -RUN yum -y install gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel openssl-devel \ - newt-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel sqlite-devel curl bison supervisor \ - && mkdir /tmp/asterisk \ - && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ - && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ - && cd /tmp/asterisk \ - && ./configure --libdir=/usr/lib64 \ - && make menuselect \ - && menuselect/menuselect \ - --disable-all \ - --disable-category MENUSELECT_ADDONS \ - --disable-category MENUSELECT_APPS \ - --disable-category MENUSELECT_BRIDGES \ - --disable-category MENUSELECT_CDR \ - --disable-category MENUSELECT_CEL \ - --disable-category MENUSELECT_CHANNELS \ - --enable-category MENUSELECT_CODECS \ - --enable-category MENUSELECT_FORMATS \ - --disable-category MENUSELECT_FUNCS \ - --disable-category MENUSELECT_PBX \ - --disable-category MENUSELECT_RES \ - --disable-category MENUSELECT_TESTS \ - --disable-category MENUSELECT_UTILS \ - --disable-category MENUSELECT_AGIS \ - --disable-category MENUSELECT_EMBED \ - --enable-category MENUSELECT_CORE_SOUNDS \ - --enable-category MENUSELECT_MOH \ - --enable-category MENUSELECT_EXTRA_SOUNDS \ - --disable-category MENUSELECT_TESTS \ - --enable-category MENUSELECT_OPTS_app_voicemail \ - --enable func_module \ - --enable LOADABLE_MODULES \ - --enable FILE_STORAGE \ - --disable codec_dahdi \ - --enable app_dial \ - --enable app_exec \ - --enable app_originate \ - --enable app_verbose \ - --enable chan_sip \ - --enable pbx_config \ - --enable res_agi \ - --enable res_convert \ - --enable res_musiconhold \ - --enable res_timing_timerfd \ - --disable BUILD_NATIVE \ - menuselect.makeopts \ - && make config \ - && make \ - && make install \ - && mkdir -p /var/lib/asterisk/phoneprov \ - && make samples \ - && make dist-clean \ - && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ - && cd .. \ - && rm /tmp/asterisk.tar.gz \ - && rm -rf /tmp/asterisk \ - && yum -y clean all \ - && rm -rf /var/cache/yum/* - - -# RUN yum -y update \ -# && yum -y install epel-release \ -# && yum -y install kernel-headers gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel sqlite sqlite-devel \ -# mysql-devel openssl-devel newt-devel kernel-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel \ -# curl pcre-devel bison mysql-devel ngrep tmux \ -# && mkdir /tmp/asterisk \ -# && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ -# && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ -# && cd /tmp/asterisk \ -# && ./configure --libdir=/usr/lib64 \ -# && make menuselect \ -# && menuselect/menuselect \ -# --disable-category MENUSELECT_ADDONS \ -# --disable-category MENUSELECT_APPS \ -# --disable-category MENUSELECT_BRIDGES \ -# --disable-category MENUSELECT_CDR \ -# --disable-category MENUSELECT_CEL \ -# --disable-category MENUSELECT_CHANNELS \ -# --enable-category MENUSELECT_CODECS \ -# --enable-category MENUSELECT_FORMATS \ -# --disable-category MENUSELECT_FUNCS \ -# --disable-category MENUSELECT_PBX \ -# --disable-category MENUSELECT_RES \ -# --disable-category MENUSELECT_TESTS \ -# --disable-category MENUSELECT_OPTS_app_voicemail \ -# --disable-category MENUSELECT_UTILS \ -# --disable-category MENUSELECT_AGIS \ -# --disable-category MENUSELECT_EMBED \ -# --disable-category MENUSELECT_CORE_SOUNDS \ -# --disable-category MENUSELECT_MOH \ -# --disable-category MENUSELECT_EXTRA_SOUNDS \ -# --enable app_controlplayback \ -# --enable app_dial \ -# --enable app_exec \ -# --enable app_originate \ -# --enable app_queue \ -# --enable app_record \ -# --enable app_senddtmf \ -# --enable app_stasis \ -# --enable app_verbose \ -# --enable app_waituntil \ -# --enable chan_sip \ -# --enable pbx_config \ -# --enable pbx_realtime \ -# --enable res_agi \ -# --enable res_ari \ -# --enable res_ari_channels \ -# --enable res_ari_events \ -# --enable res_ari_playbacks \ -# --enable res_ari_recordings \ -# --enable res_ari_sounds \ -# --enable res_ari_device_states \ -# --enable res_realtime \ -# --enable res_rtp_asterisk \ -# --enable res_rtp_multicast \ -# --enable res_stasis \ -# --enable res_stasis_answer \ -# --enable res_stasis_device_state \ -# --enable res_stasis_playback \ -# --enable res_stasis_recording \ -# --enable res_stun_monitor \ -# --enable res_timing_timerfd \ -# --enable func_callcompletion \ -# --enable func_callerid \ -# --disable BUILD_NATIVE \ -# menuselect.makeopts \ -# && make config \ -# && make \ -# && make install \ -# && mkdir -p /var/lib/asterisk/phoneprov \ -# && make samples \ -# && make dist-clean \ -# && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ -# && cd .. \ -# && rm /tmp/asterisk.tar.gz \ -# && rm -rf /tmp/asterisk \ -# && yum -y clean all \ -# && rm -rf /var/cache/yum/* -# -# CMD asterisk -fvvvvv - diff --git a/debian/17-current/Dockerfile-centos b/debian/17-current/Dockerfile-centos deleted file mode 100644 index 0257721..0000000 --- a/debian/17-current/Dockerfile-centos +++ /dev/null @@ -1,145 +0,0 @@ -FROM centos:6 - -MAINTAINER Andrius Kairiukstis - -RUN yum -y install gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel openssl-devel \ - newt-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel sqlite-devel curl bison supervisor \ - && mkdir /tmp/asterisk \ - && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ - && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ - && cd /tmp/asterisk \ - && ./configure --libdir=/usr/lib64 \ - && make menuselect \ - && menuselect/menuselect \ - --disable-all \ - --disable-category MENUSELECT_ADDONS \ - --disable-category MENUSELECT_APPS \ - --disable-category MENUSELECT_BRIDGES \ - --disable-category MENUSELECT_CDR \ - --disable-category MENUSELECT_CEL \ - --disable-category MENUSELECT_CHANNELS \ - --enable-category MENUSELECT_CODECS \ - --enable-category MENUSELECT_FORMATS \ - --disable-category MENUSELECT_FUNCS \ - --disable-category MENUSELECT_PBX \ - --disable-category MENUSELECT_RES \ - --disable-category MENUSELECT_TESTS \ - --disable-category MENUSELECT_UTILS \ - --disable-category MENUSELECT_AGIS \ - --disable-category MENUSELECT_EMBED \ - --enable-category MENUSELECT_CORE_SOUNDS \ - --enable-category MENUSELECT_MOH \ - --enable-category MENUSELECT_EXTRA_SOUNDS \ - --disable-category MENUSELECT_TESTS \ - --enable-category MENUSELECT_OPTS_app_voicemail \ - --enable func_module \ - --enable LOADABLE_MODULES \ - --enable FILE_STORAGE \ - --disable codec_dahdi \ - --enable app_dial \ - --enable app_exec \ - --enable app_originate \ - --enable app_verbose \ - --enable chan_sip \ - --enable pbx_config \ - --enable res_agi \ - --enable res_convert \ - --enable res_musiconhold \ - --enable res_timing_timerfd \ - --disable BUILD_NATIVE \ - menuselect.makeopts \ - && make config \ - && make \ - && make install \ - && mkdir -p /var/lib/asterisk/phoneprov \ - && make samples \ - && make dist-clean \ - && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ - && cd .. \ - && rm /tmp/asterisk.tar.gz \ - && rm -rf /tmp/asterisk \ - && yum -y clean all \ - && rm -rf /var/cache/yum/* - - -# RUN yum -y update \ -# && yum -y install epel-release \ -# && yum -y install kernel-headers gcc gcc-c++ cpp ncurses ncurses-devel libxml2 libxml2-devel sqlite sqlite-devel \ -# mysql-devel openssl-devel newt-devel kernel-devel libuuid-devel net-snmp-devel xinetd tar libffi-devel \ -# curl pcre-devel bison mysql-devel ngrep tmux \ -# && mkdir /tmp/asterisk \ -# && curl -sf -o /tmp/asterisk.tar.gz -L http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.6-current.tar.gz \ -# && tar -xzf /tmp/asterisk.tar.gz -C /tmp/asterisk --strip-components=1 \ -# && cd /tmp/asterisk \ -# && ./configure --libdir=/usr/lib64 \ -# && make menuselect \ -# && menuselect/menuselect \ -# --disable-category MENUSELECT_ADDONS \ -# --disable-category MENUSELECT_APPS \ -# --disable-category MENUSELECT_BRIDGES \ -# --disable-category MENUSELECT_CDR \ -# --disable-category MENUSELECT_CEL \ -# --disable-category MENUSELECT_CHANNELS \ -# --enable-category MENUSELECT_CODECS \ -# --enable-category MENUSELECT_FORMATS \ -# --disable-category MENUSELECT_FUNCS \ -# --disable-category MENUSELECT_PBX \ -# --disable-category MENUSELECT_RES \ -# --disable-category MENUSELECT_TESTS \ -# --disable-category MENUSELECT_OPTS_app_voicemail \ -# --disable-category MENUSELECT_UTILS \ -# --disable-category MENUSELECT_AGIS \ -# --disable-category MENUSELECT_EMBED \ -# --disable-category MENUSELECT_CORE_SOUNDS \ -# --disable-category MENUSELECT_MOH \ -# --disable-category MENUSELECT_EXTRA_SOUNDS \ -# --enable app_controlplayback \ -# --enable app_dial \ -# --enable app_exec \ -# --enable app_originate \ -# --enable app_queue \ -# --enable app_record \ -# --enable app_senddtmf \ -# --enable app_stasis \ -# --enable app_verbose \ -# --enable app_waituntil \ -# --enable chan_sip \ -# --enable pbx_config \ -# --enable pbx_realtime \ -# --enable res_agi \ -# --enable res_ari \ -# --enable res_ari_channels \ -# --enable res_ari_events \ -# --enable res_ari_playbacks \ -# --enable res_ari_recordings \ -# --enable res_ari_sounds \ -# --enable res_ari_device_states \ -# --enable res_realtime \ -# --enable res_rtp_asterisk \ -# --enable res_rtp_multicast \ -# --enable res_stasis \ -# --enable res_stasis_answer \ -# --enable res_stasis_device_state \ -# --enable res_stasis_playback \ -# --enable res_stasis_recording \ -# --enable res_stun_monitor \ -# --enable res_timing_timerfd \ -# --enable func_callcompletion \ -# --enable func_callerid \ -# --disable BUILD_NATIVE \ -# menuselect.makeopts \ -# && make config \ -# && make \ -# && make install \ -# && mkdir -p /var/lib/asterisk/phoneprov \ -# && make samples \ -# && make dist-clean \ -# && sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \ -# && cd .. \ -# && rm /tmp/asterisk.tar.gz \ -# && rm -rf /tmp/asterisk \ -# && yum -y clean all \ -# && rm -rf /var/cache/yum/* -# -# CMD asterisk -fvvvvv - diff --git a/debian/17-current/Dockerfile b/debian/17.9.4/Dockerfile similarity index 94% rename from debian/17-current/Dockerfile rename to debian/17.9.4/Dockerfile index cdcab65..29c2176 100644 --- a/debian/17-current/Dockerfile +++ b/debian/17.9.4/Dockerfile @@ -3,7 +3,7 @@ FROM debian:buster-slim LABEL maintainer="Andrius Kairiukstis " -ENV ASTERISK_VERSION 17-current +ENV ASTERISK_VERSION 17.9.4 ENV OPUS_CODEC asterisk-17.0/x86-64/codec_opus-17.0_current-x86_64 COPY build-asterisk.sh / diff --git a/debian/17-current/build-asterisk.sh b/debian/17.9.4/build-asterisk.sh similarity index 100% rename from debian/17-current/build-asterisk.sh rename to debian/17.9.4/build-asterisk.sh diff --git a/debian/17-current/docker-entrypoint.sh b/debian/17.9.4/docker-entrypoint.sh similarity index 100% rename from debian/17-current/docker-entrypoint.sh rename to debian/17.9.4/docker-entrypoint.sh diff --git a/alpine/2.6/hooks/post_push b/debian/17.9.4/hooks/post_push similarity index 92% rename from alpine/2.6/hooks/post_push rename to debian/17.9.4/hooks/post_push index d21527e..8a4254d 100644 --- a/alpine/2.6/hooks/post_push +++ b/debian/17.9.4/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {2.6-11.6.1}; do +for tag in {17.9.4}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/debian/18-current/Dockerfile b/debian/18-current/Dockerfile new file mode 100644 index 0000000..d1980af --- /dev/null +++ b/debian/18-current/Dockerfile @@ -0,0 +1,17 @@ +# vim:set ft=dockerfile: +FROM debian:bullseye-slim + +LABEL maintainer="Andrius Kairiukstis " + +ENV ASTERISK_VERSION 18-current +ENV OPUS_CODEC asterisk-18.0/x86-64/codec_opus-18.0_current-x86_64 + +COPY build-asterisk.sh / +RUN /build-asterisk.sh + +EXPOSE 5060/udp 5060/tcp +VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/usr/sbin/asterisk", "-vvvdddf", "-T", "-W", "-U", "asterisk", "-p"] diff --git a/debian/18-current/build-asterisk.sh b/debian/18-current/build-asterisk.sh new file mode 100755 index 0000000..fb993b6 --- /dev/null +++ b/debian/18-current/build-asterisk.sh @@ -0,0 +1,142 @@ +#!/bin/bash +PROGNAME=$(basename $0) + +if test -z ${ASTERISK_VERSION}; then + echo "${PROGNAME}: ASTERISK_VERSION required" >&2 + exit 1 +fi + +set -ueo pipefail + +useradd --system asterisk + +DEBIAN_FRONTEND=noninteractive \ +apt-get update -qq + +DEBIAN_FRONTEND=noninteractive \ +apt-get install --yes -qq --no-install-recommends --no-install-suggests \ + autoconf \ + binutils-dev \ + build-essential \ + ca-certificates \ + curl \ + file \ + libcurl4-openssl-dev \ + libedit-dev \ + libgsm1-dev \ + libogg-dev \ + libpopt-dev \ + libresample1-dev \ + libspandsp-dev \ + libspeex-dev \ + libspeexdsp-dev \ + libsqlite3-dev \ + libsrtp2-dev \ + libssl-dev \ + libvorbis-dev \ + libxml2-dev \ + libxslt1-dev \ + odbcinst \ + portaudio19-dev \ + procps \ + unixodbc \ + unixodbc-dev \ + uuid \ + uuid-dev \ + xmlstarlet \ +> /dev/null + +DEBIAN_FRONTEND=noninteractive \ +apt-get purge --yes -qq --auto-remove > /dev/null +rm -rf /var/lib/apt/lists/* + +mkdir -p /usr/src/asterisk +cd /usr/src/asterisk + +( \ + curl -sL http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-${ASTERISK_VERSION}.tar.gz | tar --strip-components 1 -xz || \ + curl -sL http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-${ASTERISK_VERSION}.tar.gz | tar --strip-components 1 -xz || \ + curl -sL http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${ASTERISK_VERSION}.tar.gz | tar --strip-components 1 -xz \ +) &>/dev/null + +# 1.5 jobs per core works out okay +: ${JOBS:=$(( $(nproc) + $(nproc) / 2 ))} + +./configure --with-resample \ + --with-pjproject-bundled \ + --with-jansson-bundled > /dev/null +make menuselect/menuselect menuselect-tree menuselect.makeopts + +# disable BUILD_NATIVE to avoid platform issues +menuselect/menuselect --disable BUILD_NATIVE menuselect.makeopts + +# enable good things +menuselect/menuselect --enable BETTER_BACKTRACES menuselect.makeopts + +# enable ooh323 +menuselect/menuselect --enable chan_ooh323 menuselect.makeopts + +# codecs +# menuselect/menuselect --enable codec_opus menuselect.makeopts +# menuselect/menuselect --enable codec_silk menuselect.makeopts + +# # download more sounds +# for i in CORE-SOUNDS-EN MOH-OPSOUND EXTRA-SOUNDS-EN; do +# for j in ULAW ALAW G722 GSM SLN16; do +# menuselect/menuselect --enable $i-$j menuselect.makeopts +# done +# done + +# we don't need any sounds in docker, they will be mounted as volume +menuselect/menuselect --disable-category MENUSELECT_CORE_SOUNDS menuselect.makeopts +menuselect/menuselect --disable-category MENUSELECT_MOH menuselect.makeopts +menuselect/menuselect --disable-category MENUSELECT_EXTRA_SOUNDS menuselect.makeopts + +make -j ${JOBS} all > /dev/null || make -j ${JOBS} all +make install > /dev/null + +# copy default configs +# cp /usr/src/asterisk/configs/basic-pbx/*.conf /etc/asterisk/ +make samples > /dev/null + +# set runuser and rungroup +sed -i -E 's/^;(run)(user|group)/\1\2/' /etc/asterisk/asterisk.conf + +# Install opus, for some reason menuselect option above does not working +mkdir -p /usr/src/codecs/opus +cd /usr/src/codecs/opus +curl -sL http://downloads.digium.com/pub/telephony/codec_opus/${OPUS_CODEC}.tar.gz | tar --strip-components 1 -xz +cp *.so /usr/lib/asterisk/modules/ +cp codec_opus_config-en_US.xml /var/lib/asterisk/documentation/ + +mkdir -p /etc/asterisk/ \ + /var/spool/asterisk/fax + +chown -R asterisk:asterisk /etc/asterisk \ + /var/*/asterisk \ + /usr/*/asterisk +chmod -R 750 /var/spool/asterisk + +cd / +rm -rf /usr/src/asterisk \ + /usr/src/codecs + +DEVPKGS="$(dpkg -l | grep '\-dev' | awk '{print $2}' | xargs)" +DEBIAN_FRONTEND=noninteractive apt-get --yes -qq purge \ + autoconf \ + build-essential \ + bzip2 \ + cpp \ + m4 \ + make \ + patch \ + perl \ + perl-modules \ + pkg-config \ + xz-utils \ + ${DEVPKGS} \ +> /dev/null + +rm -rf /var/lib/apt/lists/* + +exec rm -f /build-asterisk.sh diff --git a/debian/18-current/docker-entrypoint.sh b/debian/18-current/docker-entrypoint.sh new file mode 100755 index 0000000..a82f419 --- /dev/null +++ b/debian/18-current/docker-entrypoint.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# run as user asterisk by default +ASTERISK_USER=${ASTERISK_USER:-asterisk} + +if [ "$1" = "" ]; then + COMMAND="/usr/sbin/asterisk -T -W -U ${ASTERISK_USER} -p -vvvdddf" +else + COMMAND="$@" +fi + +if [ "${ASTERISK_UID}" != "" ] && [ "${ASTERISK_GID}" != "" ]; then + # recreate user and group for asterisk + # if they've sent as env variables (i.e. to macth with host user to fix permissions for mounted folders + + deluser asterisk && \ + adduser --gecos "" --no-create-home --uid ${ASTERISK_UID} --disabled-password ${ASTERISK_USER} || exit + + chown -R ${ASTERISK_UID}:${ASTERISK_UID} /etc/asterisk \ + /var/*/asterisk \ + /usr/*/asterisk +fi + +exec ${COMMAND} diff --git a/debian/17-current/hooks/post_push b/debian/18-current/hooks/post_push similarity index 92% rename from debian/17-current/hooks/post_push rename to debian/18-current/hooks/post_push index 11d18a4..508948b 100644 --- a/debian/17-current/hooks/post_push +++ b/debian/18-current/hooks/post_push @@ -9,7 +9,7 @@ tagStart=$(expr index "$IMAGE_NAME" :) repoName=${IMAGE_NAME:0:tagStart-1} # Tag and push image for each additional tag -for tag in {17-current}; do +for tag in {18-current}; do docker tag $IMAGE_NAME ${repoName}:${tag} docker push ${repoName}:${tag} done diff --git a/test/asterisk.bats b/test/asterisk.bats deleted file mode 100644 index ff929d3..0000000 --- a/test/asterisk.bats +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bats - -@test "asterisk is installed" { - run docker run -ti --rm $IMAGE asterisk -V - [ "$status" -eq 0 ] -} - -@test "asterisk runs ok" { - run docker run -ti --rm $IMAGE sh -c 'asterisk; sleep 5; asterisk -rx "core show version"' - [ "$status" -eq 0 ] -} diff --git a/tests/asterisk.bats b/tests/asterisk.bats new file mode 100644 index 0000000..f82909c --- /dev/null +++ b/tests/asterisk.bats @@ -0,0 +1,34 @@ +#!/usr/bin/env bats + +@test "asterisk is installed" { + run docker run -ti --rm $IMAGE asterisk -V 2>&1 >&3 + + EXPECTED_VERSION="$(echo "$VERSION" | awk -F '-' '{print $NF}')" + CONTAINER_VERSION="$(echo "$output" | awk '{print $NF}')" + + echo "# docker image: $IMAGE" >&3 + echo "# expected version: $EXPECTED_VERSION" >&3 + echo "# running version: $CONTAINER_VERSION" >&3 + + [ "$status" -eq 0 ] +} + +# @test "asterisk runs ok" { +# CONTAINER_NAME="$(date +%s | sha256sum | base64 | head -c 32 ; echo)" +# docker run --rm --detach --name $CONTAINER_NAME $IMAGE +# sleep 2s +# run docker exec -ti $CONTAINER_NAME asterisk -V 2>&1 >&3 +# docker stop $CONTAINER_NAME + +# EXPECTED_VERSION="$(echo "$VERSION" | awk -F '-' '{print $NF}')" +# CONTAINER_VERSION="$(echo "$output" | awk '{print $NF}')" + +# echo "# docker image: $IMAGE" >&3 +# echo "# expected version: $EXPECTED_VERSION" >&3 +# echo "# running version: $CONTAINER_VERSION" >&3 + +# [ "$status" -eq 0 ] +# if [[ "$EXPECTED_VERSION" != "edge" && "$EXPECTED_VERSION" != "latest" && ! "$EXPECTED_VERSION" =~ glibc ]]; then +# [[ "$VERSION" =~ "${output}" ]] +# fi +# }