From 15037cbaae9f5f5bc853a0ea7270480607d12340 Mon Sep 17 00:00:00 2001 From: jonathan.brilhante Date: Thu, 6 Apr 2017 10:18:10 -0300 Subject: [PATCH] Atualização Docker-compose Isolamento --- core/Dockerfile | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ core/fonts/FreeSans.ttf | Bin 0 -> 1563256 bytes core/indexer.py | 2 +- core/logger.py | 2 +- core/renderer.py | 2 +- core/translator.py | 2 +- translate-api/config/db.js | 2 +- translate-api/helpers/amqpManager.js | 4 ++-- 8 files changed, 84 insertions(+), 7 deletions(-) create mode 100755 core/Dockerfile create mode 100644 core/fonts/FreeSans.ttf diff --git a/core/Dockerfile b/core/Dockerfile new file mode 100755 index 0000000..b7d4bd3 --- /dev/null +++ b/core/Dockerfile @@ -0,0 +1,77 @@ +FROM ubuntu:14.04 +MAINTAINER Jonathan Brilhante +#USER root + +#Dependencies installation - RabbitMQ / Graylog / Nodejs + +#Packages updates +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 && apt-get clean + +#Install python packages +RUN apt-get install -y python-setuptools && easy_install pip + +#Install RabbitMQ +RUN echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list && wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add - +RUN apt-get update && apt-get install rabbitmq-server -y && apt-get clean + +#Install python and python lib for RabbitMQ +RUN apt-get install -y python && pip install pika + +#Enable RabbitMQ plugins +RUN rabbitmq-plugins enable rabbitmq_management + +#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 python-yaml libgomp1 python-numpy python-pyfits python-matplotlib idle && apt-get clean +RUN pip install nltk==3.0.5 nltk_tgrep --upgrade +RUN pip install pysrt ffmpy pyvirtualdisplay +RUN apt-get install -y software-properties-common && apt-get clean + +#Install FFmpeg +RUN add-apt-repository ppa:mc3man/trusty-media && apt-get -y update && apt-get install -y ffmpeg gstreamer0.10-ffmpeg && apt-get clean + +WORKDIR /root/ +RUN mkdir -p ./storage/ +RUN mkdir -p ./storage/libras +RUN mkdir -p ./storage/frames + +#Copy workers to container +ADD ./translator.py /root/translator.py +ADD ./renderer.py /root/renderer.py +ADD ./indexer.py /root/indexer.py +ADD ./PikaManager.py /root/PikaManager.py +ADD ./processManager.py /root/processManager.py +ADD ./logger.py /root/logger.py +ADD ./Trie.py /root/Trie.py + +ADD ./fonts/ /root/fonts/ +ADD ./bundles/ /root/storage/bundles/ +ADD ./vlibras-translate/ /root/vlibras-translate/ +ADD ./vlibras-libs/ /root/vlibras-libs/ +ADD ./unityVideo/ /root/unityVideo/ + +RUN chmod +x /root/unityVideo/videoCreator.x86_64 + +#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/storage/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" + +#Comando de entrada quando inicializado +ENTRYPOINT sleep 1m ; python /root/processManager.py diff --git a/core/fonts/FreeSans.ttf b/core/fonts/FreeSans.ttf new file mode 100644 index 0000000..4c2f69b Binary files /dev/null and b/core/fonts/FreeSans.ttf differ diff --git a/core/indexer.py b/core/indexer.py index cb1a19b..444d5ba 100755 --- a/core/indexer.py +++ b/core/indexer.py @@ -23,7 +23,7 @@ BUNDLES_PATH=None BUNDLES_LIST={} # Manager of queues connections. -manager = PikaManager.PikaManager("localhost") +manager = PikaManager.PikaManager("rabbit") def generate_trie(): global TRIE diff --git a/core/logger.py b/core/logger.py index 61a81e7..d9fbafd 100644 --- a/core/logger.py +++ b/core/logger.py @@ -23,7 +23,7 @@ from time import sleep SERVER_URL = sys.argv[1] # Manager of queues connections. -manager = PikaManager.PikaManager("localhost") +manager = PikaManager.PikaManager("rabbit") # Logging configuration. logger = logging.getLogger('text_container') diff --git a/core/renderer.py b/core/renderer.py index fb037ea..0fb0ee0 100755 --- a/core/renderer.py +++ b/core/renderer.py @@ -29,7 +29,7 @@ from time import sleep from shutil import rmtree # Manager of queues connections. -manager = PikaManager.PikaManager("localhost") +manager = PikaManager.PikaManager("rabbit") TCP_IP = '0.0.0.0' TCP_PORT = 5555 diff --git a/core/translator.py b/core/translator.py index 9472155..922160a 100755 --- a/core/translator.py +++ b/core/translator.py @@ -20,7 +20,7 @@ from PortGlosa import traduzir from time import sleep # Manager of queues connections. -manager = PikaManager.PikaManager("localhost") +manager = PikaManager.PikaManager("rabbit") def run(ch, method, properties, body): """ diff --git a/translate-api/config/db.js b/translate-api/config/db.js index 456f53f..a8297fe 100644 --- a/translate-api/config/db.js +++ b/translate-api/config/db.js @@ -18,7 +18,7 @@ mongoose.Promise = require('bluebird'); /* * Connection */ -mongoose.connect('mongodb://localhost/container_contents', function(err) { +mongoose.connect('mongodb://mongo/container_contents', function(err) { if(err) { console.log('MongoDB connection error: ', err); } else { diff --git a/translate-api/helpers/amqpManager.js b/translate-api/helpers/amqpManager.js index de9c30d..4b3893d 100644 --- a/translate-api/helpers/amqpManager.js +++ b/translate-api/helpers/amqpManager.js @@ -18,7 +18,7 @@ var amqplib = require('amqplib/callback_api'); */ exports.sendToQueue = function(body, id, queue, durability, res, next) { - amqplib.connect('amqp://localhost', function(err, conn) { + amqplib.connect('amqp://rabbit', function(err, conn) { if (err) return next(err, 'Cannot connect to RabbitMQ'); @@ -46,7 +46,7 @@ exports.sendToQueue = function(body, id, queue, durability, res, next) { */ exports.receiveFromQueue = function(id, queue, durability, res, next) { - amqplib.connect('amqp://localhost', function(err, conn) { + amqplib.connect('amqp://rabbit', function(err, conn) { if (err) return next(err, 'Cannot connect to RabbitMQ'); -- libgit2 0.21.2