From 11dbd6b04c7df99cb9a04f36193119a3d446a172 Mon Sep 17 00:00:00 2001 From: David Trattnig <david.trattnig@o94.at> Date: Wed, 29 Apr 2020 21:16:44 +0200 Subject: [PATCH] Some hacky scripts to run engine inside docker. --- Dockerfile | 23 ++++++++++++++++++++++ build.sh | 3 +++ configuration/sample-production.engine.ini | 2 +- prepare.sh | 4 ++++ run_aura.sh | 4 ++++ run_liquidsoap.sh | 4 ++++ 6 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100755 build.sh create mode 100755 prepare.sh create mode 100755 run_aura.sh create mode 100755 run_liquidsoap.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..dc626153 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM python:3.6.9-stretch + +MAINTAINER Gottfried Gaisbauer <gottfried.gaisbauer@servus.at> + +RUN set -ex \ + && rm -f /usr/bin/python && ln -s /usr/local/bin/python /usr/bin/python \ + && rm -f /usr/bin/python3 && ln -s /usr/local/bin/python3 /usr/bin/python3 + +RUN set -ex \ + && apt-get update -q \ + && apt-get install -y -q --no-install-recommends libev4 libev-dev \ + liquidsoap liquidsoap-plugin-alsa liquidsoap-plugin-icecast liquidsoap-plugin-jack liquidsoap-plugin-pulseaudio \ + liquidsoap-plugin-flac liquidsoap-plugin-lame liquidsoap-plugin-mad liquidsoap-plugin-ogg liquidsoap-plugin-opus liquidsoap-plugin-faad \ + liquidsoap-plugin-taglib \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +COPY requirements.txt /tmp/requirements.txt + +RUN pip3 install -r /tmp/requirements.txt + +RUN set -ex \ + && adduser --home /srv --no-create-home --system --uid 1000 --group app \ + && adduser app audio diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..9085f413 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +exec sudo docker build -t aura/engine . diff --git a/configuration/sample-production.engine.ini b/configuration/sample-production.engine.ini index e22431e9..2355c305 100644 --- a/configuration/sample-production.engine.ini +++ b/configuration/sample-production.engine.ini @@ -17,7 +17,7 @@ db_host="localhost" db_charset="utf8" [redis] -redis_host="localhost" +redis_host="172.17.0.1" redis_port=6379 redis_db=0 diff --git a/prepare.sh b/prepare.sh new file mode 100755 index 00000000..4be35fcf --- /dev/null +++ b/prepare.sh @@ -0,0 +1,4 @@ +#!/bin/bash +BASE_D=$(realpath "${BASH_SOURCE%/*}/") + +exec sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv -v "$BASE_D/configuration/":/etc/aura --tmpfs /var/log/aura/ aura/engine /srv/initdb.py diff --git a/run_aura.sh b/run_aura.sh new file mode 100755 index 00000000..11751cc4 --- /dev/null +++ b/run_aura.sh @@ -0,0 +1,4 @@ +#!/bin/bash +BASE_D=$(realpath "${BASH_SOURCE%/*}/") + +exec sudo docker run --name aura-engine --rm -it -u $UID:$GID -p 127.0.0.1:8050:5000 -v "$BASE_D":/srv -v "$BASE_D/configuration/":/etc/aura --tmpfs /var/log/aura/ aura/engine /srv/aura.py diff --git a/run_liquidsoap.sh b/run_liquidsoap.sh new file mode 100755 index 00000000..88f92d23 --- /dev/null +++ b/run_liquidsoap.sh @@ -0,0 +1,4 @@ +#!/bin/bash +BASE_D=$(realpath "${BASH_SOURCE%/*}/") + +exec sudo docker run --name aura-engine-liquidsoap --rm -it -u 1000:1000 -v "$BASE_D":/srv -v "$BASE_D/configuration/":/etc/aura --tmpfs /var/log/aura/ --device /dev/snd aura/engine /bin/bash -c "cd /srv/modules/liquidsoap && liquidsoap --debug --verbose engine.liq" -- GitLab