yate in a container

This commit is contained in:
kritzl 2024-09-02 01:19:57 +02:00
commit fe6d795e16
Signed by: kritzl
SSH key fingerprint: SHA256:5BmINP9VjZWaUk5Z+2CTut1KFhwLtd0ZynMekKbtViM
5 changed files with 57 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
data/
conf/

35
Containerfile Normal file
View file

@ -0,0 +1,35 @@
FROM ubuntu:24.04 as build_yate
RUN apt-get update && apt-get install -y \
git \
build-essential \
zlib1g-dev \
libssl-dev \
libgsm1-dev \
pkg-config \
speex \
autoconf \
libasound2-dev
#install libasound2-dev so './configure' will enable the alsachan module for us
RUN git clone https://github.com/eventphone/yate.git yate
WORKDIR /yate
RUN ./autogen.sh
RUN ./configure
RUN make
RUN make install-noapi
FROM ubuntu:24.04
COPY --from=build_yate /usr/local/lib /usr/local/lib
COPY --from=build_yate /usr/local/bin /usr/local/bin
COPY --from=build_yate /usr/local/etc /usr/local/etc
COPY --from=build_yate /usr/local/include /usr/local/include
ENV LD_LIBRARY_PATH=/usr/local/lib
COPY startup.sh .
RUN chmod +x startup.sh
CMD [ "./startup.sh" ]

6
README.md Normal file
View file

@ -0,0 +1,6 @@
# YATE
This is a Container wrapper for yate (Yet Another Telephony Engine).
It uses the patched version [from eventphone](https://github.com/eventphone/yate).
To configure yate, simply put the config overrides in `./conf` and all data you reference to `./data`.

8
compose.yaml Normal file
View file

@ -0,0 +1,8 @@
services:
yate:
build:
dockerfile: Containerfile
context: .
volumes:
- ./conf:/conf
- ./data:/data

6
startup.sh Normal file
View file

@ -0,0 +1,6 @@
#! /bin/bash
cp /conf/* /usr/local/etc/yate/
cp -r /data /usr/local/share/yate
yate -vvv -Do