FROM savonet/liquidsoap:v2.1.0
LABEL maintainer="David Trattnig <david.trattnig@subsquare.at>"

ENV UID=1000
ENV GID=1000
ENV USER=app

USER root

# Dependencies & Utils
RUN apt update --allow-releaseinfo-change && \
      apt -y --no-install-recommends install \
      build-essential \
      alsa-utils \
      libssl-dev

# Setup Engine
ENV TZ=Europe/Vienna
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /srv/src /srv/tests /srv/config srv/logs srv/socket /var/audio
COPY src /srv/src
COPY tests /srv/tests
COPY config/sample.engine-core.docker.ini /etc/aura/engine-core.ini
COPY Makefile /srv/Makefile
COPY VERSION /srv/VERSION

RUN set -e \
      && adduser --home /srv --no-create-home --system --uid ${UID} --group ${USER} \
      && chown -R ${UID}:${GID} /srv /var/audio


USER app

WORKDIR /srv

# Start the Engine
EXPOSE 1234/tcp
ENTRYPOINT ["make"]
CMD ["run"]