Commit e922cb1eb926b4070d1d75643755b4ff20addc80

Authored by João Vitor Rebouças
1 parent f811c70c
Exists in coppe

Modificando Dockerfile e compose

Dockerfile
1 1 FROM ubuntu:14.04
2 2 MAINTAINER Jonathan Brilhante
3 3  
4   -#Dependencies installation - RabbitMQ / Graylog / Nodejs / Redis / MongoDB / FFmpeg
5   -
6   -#Packages updates
7   -RUN apt-get -y upgrade && apt-get -y update
8   -
9   -#Install necessary packages
10   -RUN apt-get install -y build-essential libssl-dev sudo curl wget && apt-get clean
11   -
12   -#Install Nodejs
13   -RUN curl -sL https://deb.nodesource.com/setup | sudo bash -
14   -RUN apt-get install -y nodejs && apt-get clean
15   -
16   -#Install python and python lib for RabbitMQ
17   -RUN apt-get install -y python-setuptools python && apt-get clean && easy_install pip
18   -RUN pip install pika
19   -
20   -#Install Graylog
21   -RUN pip install graypy
22   -RUN pip install graypy[amqp]
23   -
24   -#Install aditional packages
25   -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
26   -RUN pip install nltk==3.0.5 nltk_tgrep --upgrade
27   -RUN pip install pysrt pyvirtualdisplay
28   -RUN apt-get install -y software-properties-common && apt-get clean
29   -
30   -#Install FFmpeg
31   -RUN add-apt-repository ppa:mc3man/trusty-media && apt-get -y update && apt-get install -y ffmpeg gstreamer0.10-ffmpeg && apt-get clean
32   -
33   -RUN groupadd -r vlibras && useradd -r -g vlibras vlibras
34   -
35   -WORKDIR /
36   -RUN mkdir /storage/
37   -RUN mkdir -p /storage/videos/
38   -RUN chown -R vlibras /storage/
39   -
40   -USER vlibras
41   -#Copy workers to container
42   -
43   -WORKDIR /home/vlibras/
44   -
45   -ADD ./core/extractor.py /home/vlibras/extractor.py
46   -ADD ./core/mixer.py /home/vlibras/mixer.py
47   -ADD ./core/renderer.py /home/vlibras/renderer.py
48   -ADD ./core/translator.py /home/vlibras/translator.py
49   -ADD ./core/PikaManager.py /home/vlibras/PikaManager.py
50   -ADD ./core/processManager.py /home/vlibras/processManager.py
51   -ADD ./log/ /home/vlibras/log/
52   -ADD ./unityVideo/ /home/vlibras/unityVideo/
53   -ADD ./vlibras-translate/ /home/vlibras/vlibras-translate/
54   -ADD ./vlibras-libs/ /home/vlibras/vlibras-libs/
55   -ADD ./vlibras-api/ /home/vlibras/vlibras-api/
56   -
57 4 #Workers environment variables
58 5 ENV VLIBRAS_VIDEO_CREATOR="/home/vlibras/unityVideo/videoCreator.x86_64"
59 6 ENV VLIBRAS_VIDEO_LIBRAS="/storage/libras"
... ... @@ -67,16 +14,52 @@ ENV TRANSLATE_DATA="/home/vlibras/vlibras-translate/data"
67 14 ENV NLTK_DATA="/home/vlibras/vlibras-libs/aelius/nltk_data"
68 15 ENV PYTHONPATH=":/home/vlibras/vlibras-libs/aelius:/home/vlibras/vlibras-translate/src"
69 16  
70   -#Portas de comunicacao do container
  17 +ENV DEBIAN_FRONTEND=noninteractive
  18 +
  19 +COPY ./core/extractor.py /home/vlibras/extractor.py
  20 +COPY ./core/mixer.py /home/vlibras/mixer.py
  21 +COPY ./core/renderer.py /home/vlibras/renderer.py
  22 +COPY ./core/translator.py /home/vlibras/translator.py
  23 +COPY ./core/PikaManager.py /home/vlibras/PikaManager.py
  24 +COPY ./core/processManager.py /home/vlibras/processManager.py
  25 +COPY ./log/ /home/vlibras/log/
  26 +COPY ./unityVideo/ /home/vlibras/unityVideo/
  27 +COPY ./vlibras-translate/ /home/vlibras/vlibras-translate/
  28 +COPY ./vlibras-libs/ /home/vlibras/vlibras-libs/
  29 +COPY ./vlibras-api/ /home/vlibras/vlibras-api/
  30 +
  31 +RUN apt-get -y update && \
  32 + apt-get install -y software-properties-common curl wget && \
  33 + add-apt-repository ppa:mc3man/trusty-media && \
  34 + curl -sL https://deb.nodesource.com/setup | sudo bash - && \
  35 + apt-get -y update && \
  36 + apt-get install -y ffmpeg gstreamer0.10-ffmpeg pkg-config libfreetype6-dev libpng-dev xvfb python-yaml libgomp1 python-numpy python-pyfits python-matplotlib idle build-essential libssl-dev sudo nodejs python-pip && \
  37 + apt-get clean && \
  38 + groupadd -r vlibras && useradd -r -g vlibras vlibras && \
  39 + pip install pika && \
  40 + pip install nltk==3.0.5 nltk_tgrep --upgrade && \
  41 + pip install pysrt pyvirtualdisplay && \
  42 + mkdir /storage/ && \
  43 + mkdir -p /storage/videos/ && \
  44 + chown -R vlibras /storage/
  45 +
71 46 WORKDIR /home/vlibras/vlibras-api/
72 47  
73   -USER root
74   -RUN npm cache clean
75   -RUN rm -rf node_modules
76   -RUN npm i
77   -RUN npm install amqplib
78   -RUN npm --version
79   -RUN node --version
  48 +COPY ./docker-entrypoint.sh /
  49 +
  50 +RUN npm cache clean && \
  51 + rm -rf node_modules && \
  52 + npm i && \
  53 + npm install amqplib && \
  54 + mkdir -p /home/vlibras/vlibras-api/logsystem/logs && \
  55 + chown -R vlibras. /home/vlibras && \
  56 + apt-get purge -y build-essential && \
  57 + chmod +x /docker-entrypoint.sh
  58 +
  59 +USER vlibras
  60 +
  61 +EXPOSE 8080
  62 +VOLUME ["/storage"]
  63 +VOLUME ["/home/vlibras/vlibras-api/logsystem/logs"]
80 64  
81   -#Comando de entrada quando inicializado
82   -ENTRYPOINT (sleep 1m) ; (node /home/vlibras/vlibras-api/server.js & sleep 10) ; python /home/vlibras/processManager.py
  65 +ENTRYPOINT ["/docker-entrypoint.sh"]
... ...
compose/docker-compose.yml 0 → 100644
... ... @@ -0,0 +1,37 @@
  1 +version: '2'
  2 +volumes:
  3 + videos-rabbitmq:
  4 + external: true
  5 + driver: 'null'
  6 + videos-bd:
  7 + external: true
  8 + driver: 'null'
  9 + core_storage:
  10 + external: true
  11 + driver: 'null'
  12 + video_logs:
  13 + external: true
  14 + driver: 'null'
  15 +services:
  16 + mongo:
  17 + image: mongo:3.0.4
  18 + volumes:
  19 + - videos-bd:/data/db
  20 + rabbit:
  21 + image: capgov/rabbitmq:test
  22 + volumes:
  23 + - videos-rabbitmq:/var/lib/rabbitmq
  24 + video:
  25 + image: hub.docker.planejamento.gov.br/vlibras/video_container:coppe
  26 + environment:
  27 + VLIBRAS_VIDEO_IP: b-vlibras-dth-01.brazilsouth.cloudapp.azure.com
  28 + VLIBRAS_VIDEO_PORT: '8080'
  29 + volumes:
  30 + - core_storage:/storage/
  31 + - video_logs:/home/vlibras/vlibras-api/logsystem/logs
  32 + links:
  33 + - mongo:mongo
  34 + - rabbit:rabbit
  35 + labels:
  36 + io.rancher.container.pull_image: always
  37 +
... ...
docker-entrypoint.sh 0 → 100755
... ... @@ -0,0 +1,5 @@
  1 +#!/bin/bash
  2 +
  3 +sleep 30 && python /home/vlibras/processManager.py &
  4 +exec /usr/bin/node /home/vlibras/vlibras-api/server.js 2>&1 | tee /home/vlibras/vlibras-api/logsystem/logs/$HOSTNAME-out.log
  5 +
... ...