Dockerfile 3.52 KB
FROM ubuntu:14.04
MAINTAINER Jonathan Brilhante
#USER root
#Instalacao dependencias - NPM / Python / RabbitMQ e Plugins
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get update
RUN apt-get install build-essential libssl-dev -y
RUN apt-get install sudo -y 
RUN apt-get install curl -y
RUN apt-get install wget -y
#RUN apt-get install default-jdk -y
#RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E  bash -
RUN curl -sL https://deb.nodesource.com/setup | sudo bash -
RUN apt-get install -y nodejs
RUN apt-get install python-setuptools -y
RUN easy_install pip
#RUN npm install -g express-generator
#RUN cd $(npm root -g)/npm && npm install fs-extra && sed -i -e s/graceful-fs/fs-extra/ -e s/fs\.rename/fs.move/ ./lib/utils/rename.js
RUN echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
RUN wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
RUN apt-get update
RUN apt-get install rabbitmq-server -y
RUN apt-get install python -y
RUN pip install pika
RUN pip install graypy
RUN pip install graypy[amqp]
RUN rabbitmq-plugins enable rabbitmq_management
RUN apt-get install pkg-config -y
RUN apt-get install libfreetype6-dev libpng-dev -y
RUN apt-get install python-yaml -y
RUN apt-get install libgomp1 python-numpy python-pyfits python-matplotlib idle -y
RUN pip install nltk==3.0.5 nltk_tgrep --upgrade
RUN apt-get install xvfb -y
RUN pip install pysrt
RUN pip install pyvirtualdisplay
RUN apt-get install software-properties-common -y
RUN add-apt-repository ppa:mc3man/trusty-media
RUN apt-get update
RUN apt-get install ffmpeg gstreamer0.10-ffmpeg -y

#REDIS
RUN apt-get install redis-server -y
RUN service redis-server restart

#MONGODB
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
RUN echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list
RUN apt-get update && apt-get install -y mongodb-org
RUN mkdir -p /data/db

WORKDIR /
RUN mkdir /storage/

#Copia do Servidor e Workers para o container
WORKDIR /root/

#COPY ./Prototipo/AMQTest2/  /root/AMQTest2/
COPY ./extractor.py /root/extractor.py
COPY ./mixer.py /root/mixer.py
COPY ./renderer.py /root/renderer.py
COPY ./translator.py /root/translator.py
COPY ./unityVideo/ /root/unityVideo/
COPY ./vlibras-translate/ /root/vlibras-translate/
COPY ./vlibras-libs/ /root/vlibras-libs/
COPY ./vlibras-api/ /root/vlibras-api/

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"
#ENV NODE_PATH=/root/vlibras-api/node_modules/;%NODE_PATH%

#Portas de comunicacao do container  
EXPOSE 27017
EXPOSE 5672
EXPOSE 200:200
#EXPOSE 15672
WORKDIR /root/vlibras-api/
VOLUME ["/root/volume/", "/storage/"]
RUN npm cache clean
RUN rm -rf node_modules
RUN npm i
COPY ./vlibras-api/node_modules/amqplib/ /root/vlibras-api/node_modules/amqplib/
RUN npm --version
RUN node --version

RUN /usr/bin/mongod &

#Comando de entrada quando inicializado
ENTRYPOINT (/usr/bin/mongod & redis-server & rabbitmq-server start & sleep 3m) ; (node server.js & sleep 10) ; python /root/extractor.py & python /root/translator.py & python /root/renderer.py & python /root/mixer.py