Commit 15037cbaae9f5f5bc853a0ea7270480607d12340

Authored by jonathan.brilhante
1 parent 95a533fe

Atualização Docker-compose Isolamento

core/Dockerfile 0 → 100755
... ... @@ -0,0 +1,77 @@
  1 +FROM ubuntu:14.04
  2 +MAINTAINER Jonathan Brilhante
  3 +#USER root
  4 +
  5 +#Dependencies installation - RabbitMQ / Graylog / Nodejs
  6 +
  7 +#Packages updates
  8 +RUN apt-get -y upgrade
  9 +RUN apt-get -y update
  10 +
  11 +#Install necessary packages
  12 +RUN apt-get install -y build-essential libssl-dev sudo curl wget && apt-get clean
  13 +
  14 +#Install python packages
  15 +RUN apt-get install -y python-setuptools && easy_install pip
  16 +
  17 +#Install RabbitMQ
  18 +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 -
  19 +RUN apt-get update && apt-get install rabbitmq-server -y && apt-get clean
  20 +
  21 +#Install python and python lib for RabbitMQ
  22 +RUN apt-get install -y python && pip install pika
  23 +
  24 +#Enable RabbitMQ plugins
  25 +RUN rabbitmq-plugins enable rabbitmq_management
  26 +
  27 +#Install Graylog
  28 +RUN pip install graypy
  29 +RUN pip install graypy[amqp]
  30 +
  31 +#Install aditional packages
  32 +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
  33 +RUN pip install nltk==3.0.5 nltk_tgrep --upgrade
  34 +RUN pip install pysrt ffmpy pyvirtualdisplay
  35 +RUN apt-get install -y software-properties-common && apt-get clean
  36 +
  37 +#Install FFmpeg
  38 +RUN add-apt-repository ppa:mc3man/trusty-media && apt-get -y update && apt-get install -y ffmpeg gstreamer0.10-ffmpeg && apt-get clean
  39 +
  40 +WORKDIR /root/
  41 +RUN mkdir -p ./storage/
  42 +RUN mkdir -p ./storage/libras
  43 +RUN mkdir -p ./storage/frames
  44 +
  45 +#Copy workers to container
  46 +ADD ./translator.py /root/translator.py
  47 +ADD ./renderer.py /root/renderer.py
  48 +ADD ./indexer.py /root/indexer.py
  49 +ADD ./PikaManager.py /root/PikaManager.py
  50 +ADD ./processManager.py /root/processManager.py
  51 +ADD ./logger.py /root/logger.py
  52 +ADD ./Trie.py /root/Trie.py
  53 +
  54 +ADD ./fonts/ /root/fonts/
  55 +ADD ./bundles/ /root/storage/bundles/
  56 +ADD ./vlibras-translate/ /root/vlibras-translate/
  57 +ADD ./vlibras-libs/ /root/vlibras-libs/
  58 +ADD ./unityVideo/ /root/unityVideo/
  59 +
  60 +RUN chmod +x /root/unityVideo/videoCreator.x86_64
  61 +
  62 +#Workers environment variables
  63 +ENV VLIBRAS_VIDEO_CREATOR="/root/unityVideo/videoCreator.x86_64"
  64 +ENV VLIBRAS_VIDEO_LIBRAS="/root/storage/libras"
  65 +ENV VLIBRAS_VIDEO_SCREENS="/root/storage/frames"
  66 +ENV SIGNS_VLIBRAS="/root/storage/bundles"
  67 +ENV TEXT_FONTS="/root/fonts/FreeSans.ttf"
  68 +
  69 +#Translator environment variables
  70 +ENV HUNPOS_TAGGER="/root/vlibras-libs/aelius/bin/hunpos-tag"
  71 +ENV AELIUS_DATA="/root/vlibras-libs/aelius/aelius_data"
  72 +ENV TRANSLATE_DATA="/root/vlibras-translate/data"
  73 +ENV NLTK_DATA="/root/vlibras-libs/aelius/nltk_data"
  74 +ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vlibras-libs/aelius:/root/vlibras-translate/src"
  75 +
  76 +#Comando de entrada quando inicializado
  77 +ENTRYPOINT sleep 1m ; python /root/processManager.py
... ...
core/fonts/FreeSans.ttf 0 → 100644
No preview for this file type
core/indexer.py
... ... @@ -23,7 +23,7 @@ BUNDLES_PATH=None
23 23 BUNDLES_LIST={}
24 24  
25 25 # Manager of queues connections.
26   -manager = PikaManager.PikaManager("localhost")
  26 +manager = PikaManager.PikaManager("rabbit")
27 27  
28 28 def generate_trie():
29 29 global TRIE
... ...
core/logger.py
... ... @@ -23,7 +23,7 @@ from time import sleep
23 23 SERVER_URL = sys.argv[1]
24 24  
25 25 # Manager of queues connections.
26   -manager = PikaManager.PikaManager("localhost")
  26 +manager = PikaManager.PikaManager("rabbit")
27 27  
28 28 # Logging configuration.
29 29 logger = logging.getLogger('text_container')
... ...
core/renderer.py
... ... @@ -29,7 +29,7 @@ from time import sleep
29 29 from shutil import rmtree
30 30  
31 31 # Manager of queues connections.
32   -manager = PikaManager.PikaManager("localhost")
  32 +manager = PikaManager.PikaManager("rabbit")
33 33  
34 34 TCP_IP = '0.0.0.0'
35 35 TCP_PORT = 5555
... ...
core/translator.py
... ... @@ -20,7 +20,7 @@ from PortGlosa import traduzir
20 20 from time import sleep
21 21  
22 22 # Manager of queues connections.
23   -manager = PikaManager.PikaManager("localhost")
  23 +manager = PikaManager.PikaManager("rabbit")
24 24  
25 25 def run(ch, method, properties, body):
26 26 """
... ...
translate-api/config/db.js
... ... @@ -18,7 +18,7 @@ mongoose.Promise = require('bluebird');
18 18 /*
19 19 * Connection
20 20 */
21   -mongoose.connect('mongodb://localhost/container_contents', function(err) {
  21 +mongoose.connect('mongodb://mongo/container_contents', function(err) {
22 22 if(err) {
23 23 console.log('MongoDB connection error: ', err);
24 24 } else {
... ...
translate-api/helpers/amqpManager.js
... ... @@ -18,7 +18,7 @@ var amqplib = require('amqplib/callback_api');
18 18 */
19 19 exports.sendToQueue = function(body, id, queue, durability, res, next) {
20 20  
21   - amqplib.connect('amqp://localhost', function(err, conn) {
  21 + amqplib.connect('amqp://rabbit', function(err, conn) {
22 22 if (err)
23 23 return next(err, 'Cannot connect to RabbitMQ');
24 24  
... ... @@ -46,7 +46,7 @@ exports.sendToQueue = function(body, id, queue, durability, res, next) {
46 46 */
47 47 exports.receiveFromQueue = function(id, queue, durability, res, next) {
48 48  
49   - amqplib.connect('amqp://localhost', function(err, conn) {
  49 + amqplib.connect('amqp://rabbit', function(err, conn) {
50 50 if (err)
51 51 return next(err, 'Cannot connect to RabbitMQ');
52 52  
... ...