From 0d4d06647a9c15dfbe637926557b163ee736c642 Mon Sep 17 00:00:00 2001 From: Ryan Chu Date: Mon, 1 Oct 2018 16:40:07 +0200 Subject: Use environment variable to configure the interfaces of a Dante server MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The internal and external keywords in the server configuration are used to specify the network interface (IP address) that the Dante server should bind to. Because docker-compose allows a container to join more than one network (by adding multiple entries under the top level networks key to a docker-compose file), the default server configuration (danted.conf) shall be updated in accordance with the settings in the docker-compose file. The user can pass the setting of a docker-compose file to containers by adding environment variables in the docker-compose file. After the container gets created, the danted.sh script uses the input environment variables to overwrite the default value of internal and external interfaces before starting the Dante server. environment: - danted_internal=eth1 - danted_external=eth1 - danted_auth_internal=eth1 - danted_auth_external=eth1 Change-Id: I7c65cdd136ba5dac387bee5e22e1f4335e960101 Reviewed-by: Edward Welbourne Reviewed-by: Jędrzej Nowacki --- tests/testserver/danted/danted.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'tests/testserver/danted') diff --git a/tests/testserver/danted/danted.sh b/tests/testserver/danted/danted.sh index bf3d154f33..97e2142401 100755 --- a/tests/testserver/danted/danted.sh +++ b/tests/testserver/danted/danted.sh @@ -39,6 +39,25 @@ useradd -d /dev/null -s /bin/false qsockstest; echo "qsockstest:$PASS" | chpassw # install configurations and test data cp $TESTDATA/danted{,-authenticating}.conf /etc/ +# Use the input environment variables to overwrite the default value of internal interfaces. +if [ "$danted_internal" -a "$danted_internal" != eth0 ] +then sed -i "s,internal: eth0 port = 1080,internal: $danted_internal port = 1080," /etc/danted.conf +fi + +if [ "$danted_auth_internal" -a "$danted_auth_internal" != eth0 ] +then sed -i "s,internal: eth0 port = 1081,internal: $danted_auth_internal port = 1081," \ + /etc/danted-authenticating.conf +fi + +# Use the input environment variables to overwrite the default value of external interfaces. +if [ "$danted_external" -a "$danted_external" != eth0 ] +then sed -i "s,external: eth0,external: $danted_external," /etc/danted.conf +fi + +if [ "$danted_auth_external" -a "$danted_auth_external" != eth0 ] +then sed -i "s,external: eth0,external: $danted_auth_external," /etc/danted-authenticating.conf +fi + # enable service with installed configurations service danted start service danted-authenticating start -- cgit v1.2.3