Dockerfile 2.64 KB
FROM ubuntu:14.04
MAINTAINER Jonathan Brilhante
#USER root

#Dependencies installation - RabbitMQ / Graylog / Nodejs

#Packages updates
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get -y update

#Install necessary packages
RUN apt-get install -y build-essential libssl-dev sudo curl wget

#RUN apt-get install default-jdk -y

#Install Nodejs
RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E  bash -
RUN apt-get install -y nodejs

#Install python packages
RUN apt-get install -y python-setuptools
RUN easy_install pip

#Install python and python lib for RabbitMQ
RUN apt-get install -y python
RUN pip install pika

#Install Graylog
RUN pip install graypy
RUN pip install graypy[amqp]

#Install aditional packages
RUN apt-get install -y pkg-config libfreetype6-dev libpng-dev xvfb
RUN apt-get install -y python-yaml libgomp1 python-numpy python-pyfits python-matplotlib idle
RUN pip install nltk==3.0.5 nltk_tgrep --upgrade
RUN pip install pysrt ffmpy pyvirtualdisplay
RUN apt-get install -y software-properties-common

#Install FFmpeg
RUN add-apt-repository ppa:mc3man/trusty-media
RUN apt-get -y update
RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg

WORKDIR /root/
RUN mkdir -p ./storage/libras

#Copy workers to container
COPY ./core/translator.py /root/translator.py
COPY ./core/renderer.py /root/renderer.py
COPY ./core/indexer.py /root/indexer.py
COPY ./core/PikaManager.py /root/PikaManager.py
COPY ./core/processManager.py /root/processManager.py
COPY ./core/logger.py /root/logger.py
COPY ./core/Trie.py /root/Trie.py

COPY ./fonts/ /root/fonts/

COPY ./translate-api/  /root/translate-api/
COPY ./bundles/ /root/bundles/

COPY ./vlibras-translate/ /root/vlibras-translate/
COPY ./vlibras-libs/ /root/vlibras-libs/
COPY ./unityVideo/ /root/unityVideo/

#Workers environment variables
ENV VLIBRAS_VIDEO_CREATOR="/root/unityVideo/videoCreator.x86_64"
ENV VLIBRAS_VIDEO_LIBRAS="/root/storage/libras"
ENV VLIBRAS_VIDEO_SCREENS="/root/storage/frames"
ENV SIGNS_VLIBRAS="/root/bundles"
ENV TEXT_FONTS="/root/fonts/FreeSans.ttf"

#Translator environment variables
ENV HUNPOS_TAGGER="/root/vlibras-libs/aelius/bin/hunpos-tag"
ENV AELIUS_DATA="/root/vlibras-libs/aelius/aelius_data"
ENV TRANSLATE_DATA="/root/vlibras-translate/data"
ENV NLTK_DATA="/root/vlibras-libs/aelius/nltk_data"
ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vlibras-libs/aelius:/root/vlibras-translate/src"

#Portas de comunicacao do container
WORKDIR /root/translate-api/
RUN npm i

#Comando de entrada quando inicializado
ENTRYPOINT ( sleep 1m) ; npm start & python /root/processManager.py