FROM savonet/liquidsoap:v2.2.5
ENTRYPOINT [ "/usr/bin/env" ]
CMD ["bash"]
LABEL maintainer="Christoph Pastl <christoph.pastl@fro.at>"

ENV AURA_UID=872
ENV AURA_GID=872

USER root

# Dependencies & Utils
RUN apt update && \
      apt -y  install \
      build-essential \
      libpipewire-0.3-0 \
      pipewire-jack \
      libssl-dev \
      sndfile-tools

# 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/pipewire/client.conf /etc/pipewire/pipewire.conf
COPY config/sample-engine-core.yaml /srv/tests/test-engine-core.yaml
COPY Makefile /srv/Makefile
COPY VERSION /srv/VERSION
COPY scripts/entrypoint.sh /srv/entrypoint.sh

RUN groupadd --gid ${AURA_GID} aura && \
      useradd --gid ${AURA_GID} --no-user-group --uid ${AURA_UID} --home-dir /srv/aura --no-create-home aura && \
      chown -R ${AURA_UID}:${AURA_GID}  /srv /var/audio

USER aura
ENV PIPEWIRE_RUNTIME_DIR=/var/run/pipewire

WORKDIR /srv

# Start the Engine
EXPOSE 1234/tcp