opensips / docker-opensips Goto Github PK
View Code? Open in Web Editor NEWDocker Image Repository for OpenSIPS
Docker Image Repository for OpenSIPS
Latest documentation https://www.opensips.org/Documentation/Manual-3-1 does not mention docker installation
Makefile hasn't been updated to match the changes committed to Dockerfile in commit d5592ea.
The change d5592ea#diff-3254677a7917c6c01f55212f86c57fbfR9 introduces OPENSIPS_VERSION and OPENSIPS_BUILD instead of VERSION and BUILD. This leads to the Dockerfile only picking the default version and build.
This can be fixed by applying the following patch to Makefile
diff --git a/Makefile b/Makefile
index b31a248..2b28259 100644
--- a/Makefile
+++ b/Makefile
@@ -8,8 +8,8 @@ all: build start
.PHONY: build start
build:
docker build \
--build-arg=BUILD=$(OPENSIPS_BUILD) \
--build-arg=VERSION=$(OPENSIPS_VERSION) \
--build-arg=OPENSIPS_BUILD=$(OPENSIPS_BUILD) \
--build-arg=OPENSIPS_VERSION=$(OPENSIPS_VERSION) \
--tag="opensips/opensips:$(OPENSIPS_DOCKER_TAG)" \
I use the gelf driver as the logging driver.
Currently opensips write log to stderr (log_stderror=yes).
In my log system, this will be logged as an error (including info and debug).
Is there a solution like this '-log_debug_stdout=true' ?
The image at Docker Hub is still at version 2.2.
Opensips-cli is not able to be installed, as there is no cli-nightly
in the opensips apt repository anymore
(https://apt.opensips.org/dists/bionic/)
Command Ran: make build
Result:
josh@Joshs-Laptop-Ubuntu:~/Desktop/vxt/docker-opensips$ make build
docker build \\
--build-arg=OPENSIPS\_BUILD=releases \\
--build-arg=OPENSIPS\_VERSION=3.1 \\
--build-arg=OPENSIPS\_CLI=true \\
--build-arg=OPENSIPS\_EXTRA\_MODULES="" \\
--tag="opensips/opensips:latest" \\
.
Sending build context to Docker daemon 206.3kB
Step 1/18 : FROM debian:buster
---> 463adba1ec3f
Step 2/18 : LABEL maintainer="Razvan Crainea <[email protected]>"
---> Using cache
---> 36b3a24cea85
Step 3/18 : USER root
---> Using cache
---> a2b1d04a0c85
Step 4/18 : ENV DEBIAN\_FRONTEND noninteractive
---> Using cache
---> 12587531a440
Step 5/18 : ARG OPENSIPS\_VERSION=3.1
---> Using cache
---> f210f51bf1a6
Step 6/18 : ARG OPENSIPS\_BUILD=releases
---> Using cache
---> b86b5a1140ef
Step 7/18 : RUN apt-get -y update -qq && apt-get -y install gnupg2 ca-certificates
---> Using cache
---> c831a8441ec3
Step 8/18 : RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B
---> Using cache
---> 4c24fdc79eb8
Step 9/18 : RUN echo "deb https://apt.opensips.org buster ${OPENSIPS\_VERSION}-${OPENSIPS\_BUILD}" >/etc/apt/sources.list.d/opensips.list
---> Using cache
---> 93a1c1862f02
Step 10/18 : RUN apt-get -y update -qq && apt-get -y install opensips
---> Using cache
---> fb3e8ab3038a
Step 11/18 : ARG OPENSIPS\_CLI=false
---> Using cache
---> f777255d473e
Step 12/18 : RUN if \[ ${OPENSIPS\_CLI} = true \]; then echo "deb https://apt.opensips.org buster cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list && apt-get -y update -qq && apt-get -y install opensips-cli ;fi
---> Running in 9856e172b434
W: Skipping acquire of configured file 'cli-nightly/binary-amd64/Packages' as repository 'https://apt.opensips.org buster InRelease' doesn't have the component 'cli-nightly' (component misspelt in sources.list?)
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package opensips-cli
The command '/bin/sh -c if \[ ${OPENSIPS\_CLI} = true \]; then echo "deb https://apt.opensips.org buster cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list && apt-get -y update -qq && apt-get -y install opensips-cli ;fi' returned a non-zero code: 100
make: \*\*\* \[Makefile:12: build\] Error 100
josh@Joshs-Laptop-Ubuntu:~/Desktop/vxt/docker-opensips$
$ sudo docker build -t opensips/opensips:3.4.2 \
> --build-arg OPENSIPS_BUILD=releases \
> --build-arg OPENSIPS_VERSION=3.4 \
> --build-arg OPENSIPS_VERSION_MINOR=2 \
> --build-arg OPENSIPS_CLI=true \
> --build-arg OPENSIPS_EXTRA_MODULES='opensips-auth-modules opensips-http-modules opensips-mysql-module opensips-restclient-module opensips-tls-module opensips-tls-openssl-module opensips-tlsmgm-module opensips-wss-module' \
> --no-cache /opt/docker-opensips/
...
Step 14/20 : RUN if [ ${OPENSIPS_CLI} = true ]; then echo "deb https://apt.opensips.org bullseye cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list && apt-get -y update -qq && apt-get -y install opensips-cli ;fi
---> Running in 149f63294dac
W: Skipping acquire of configured file 'cli-nightly/binary-amd64/Packages' as repository 'https://apt.opensips.org bullseye InRelease' doesn't have the component 'cli-nightly' (component misspelt in sources.list?)
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package opensips-cli
The command '/bin/sh -c if [ ${OPENSIPS_CLI} = true ]; then echo "deb https://apt.opensips.org bullseye cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list && apt-get -y update -qq && apt-get -y install opensips-cli ;fi' returned a non-zero code: 100
Create a github actions that automatically publishes different flavors of OpenSIPS:
It would also be nice if we could customize the SIPssert triggers to add custom packages to the image.
I might be wrong, but it looks like the only way to upgrade packages to another minor versions is either manually by running update command inside containers, which is not preferable, or, simply destroy old containers and re-build the image, so the last version would be downloaded.
It would be really nice if we could specify minor version as well, perhaps as another env. variable, so when the image is being built, it will make sure that needed minor version will be downloaded and installed, that would make maintenance of security upgrades much easier.
1st of October 2018 The first minor release of OpenSIPS 3.0 branch consists of important bug fixes!
tail -f log file will never exit.
and we don't know the opensips status in this case, docker don't knew the real status of opensips process
When running make
or make build
, the Dockerfile fails on installing OpenSIPS with Unable to locate package opensips.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.