Skip to content

Instantly share code, notes, and snippets.

@daniele-athome
Last active Jul 24, 2022
Embed
What would you like to do?
FROM ubuntu:20.04
ARG ESSENTIA_VERSION=2.1_beta5
ENV LANG C.UTF-8
RUN apt-get update \
&& apt-get -y upgrade \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
python3-matplotlib python3-numpy python3-six python3-yaml \
libfftw3-3 libyaml-0-2 libtag1v5 libsamplerate0 \
libavcodec58 libavformat58 libavutil56 libavresample4 \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update \
&& apt-get install -y build-essential python3-dev git \
libfftw3-dev libavcodec-dev libavformat-dev libavresample-dev \
libsamplerate0-dev libtag1-dev libyaml-dev libeigen3-dev \
libchromaprint-dev swig
# Gaia
RUN mkdir /essentia && cd /essentia && git clone https://github.com/MTG/gaia.git \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \
&& add-apt-repository ppa:rock-core/qt4 && apt-get -y update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y libqt4-dev libqtwebkit-dev \
&& cd /essentia/gaia && python3 waf configure --with-python-bindings \
&& python3 waf && python3 waf install && ldconfig
# Essentia
RUN cd /essentia && git clone https://github.com/MTG/essentia.git \
&& cd /essentia/essentia && git checkout "v$ESSENTIA_VERSION" && python3 waf configure --with-python --with-gaia --with-examples --with-vamp \
&& python3 waf && python3 waf install && ldconfig \
&& apt-get remove -y build-essential libyaml-dev libfftw3-dev libavcodec-dev \
libavformat-dev libavutil-dev libavresample-dev python-dev libsamplerate0-dev \
libtag1-dev libeigen3-dev libchromaprint-dev swig \
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* \
&& cd / && rm -rf /essentia/essentia /essentia/gaia
ENV PYTHONPATH /usr/local/lib/python3/dist-packages
WORKDIR /essentia
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment