Skip to content
Snippets Groups Projects
Dockerfile 1.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • ###--- Python Stage ---###
    
    
    David Trattnig's avatar
    David Trattnig committed
    FROM ocaml/opam2:debian-10
    
    LABEL maintainer="David Trattnig <david.trattnig@subsquare.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
    
    
    # System Package Installation
    
    RUN set -ex \
    	&& apt-get update -q \
    
    	&& apt-get install -y -q --no-install-recommends \
          supervisor \
          redis-server \
          libsndfile1 \
          ffmpeg \
          quelcom \
    
      && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
    
    
    # Python Package Installation
    
    COPY requirements.txt /tmp/requirements.txt
    RUN pip3 install -r /tmp/requirements.txt
    
    
    # Create Users
    
      && adduser --home /srv --no-create-home --system --uid 1000 --group engineuser \
      && adduser engineuser audio
    
    # Default configuration
    COPY configuration/sample-docker.engine.ini configuration/engine.ini
    
    COPY configuration/sample-docker.gunicorn.conf.py configuration/gunicorn.conf.py
    
    
    # Liquidsoap Dependencies
    RUN opam init --disable-sandboxing -y
    RUN opam switch create 4.08.0
    
    David Trattnig's avatar
    David Trattnig committed
    RUN opam update -y
    RUN opam install depext -y
    
    RUN opam depext taglib mad lame vorbis flac opus cry samplerate pulseaudio bjack alsa ssl liquidsoap -y 
    RUN opam install taglib mad lame vorbis flac opus cry samplerate pulseaudio bjack alsa ssl liquidsoap -y
    
    David Trattnig's avatar
    David Trattnig committed
    RUN eval $(opam env)