Commit 2397605e6d9f6135e165d6dda78bc0696c7289ed
1 parent
f0568767
Exists in
coppe
Adicionando Dockerfile e modificações feitas pela coppe
Showing
5 changed files
with
86 additions
and
102 deletions
Show diff stats
Dockerfile
1 | 1 | FROM ubuntu:14.04 |
2 | 2 | MAINTAINER Jonathan Brilhante |
3 | -#USER root | |
4 | 3 | |
5 | -#Dependencies installation - RabbitMQ / Graylog / Nodejs | |
4 | +COPY ./core/translator.py /home/vlibras/translator.py | |
5 | +COPY ./core/renderer.py /home/vlibras/renderer.py | |
6 | +COPY ./core/indexer.py /home/vlibras/indexer.py | |
7 | +COPY ./core/PikaManager.py /home/vlibras/PikaManager.py | |
8 | +COPY ./core/processManager.py /home/vlibras/processManager.py | |
9 | +COPY ./core/logger.py /home/vlibras/logger.py | |
10 | +COPY ./core/Trie.py /home/vlibras/Trie.py | |
6 | 11 | |
7 | -#Packages updates | |
8 | -RUN apt-get -y update | |
9 | -RUN apt-get -y upgrade | |
10 | -RUN apt-get -y update | |
12 | +COPY ./fonts/ /home/vlibras/fonts/ | |
11 | 13 | |
12 | -#Install necessary packages | |
13 | -RUN apt-get install -y build-essential libssl-dev sudo curl wget | |
14 | +COPY ./translate-api/ /home/vlibras/translate-api/ | |
15 | +COPY ./bundles/ /home/vlibras/bundles/ | |
14 | 16 | |
15 | -#RUN apt-get install default-jdk -y | |
17 | +COPY ./vlibras-translate/ /home/vlibras/vlibras-translate/ | |
18 | +COPY ./vlibras-libs/ /home/vlibras/vlibras-libs/ | |
19 | +COPY ./unityVideo/ /home/vlibras/unityVideo/ | |
16 | 20 | |
17 | -#Install Nodejs | |
18 | -RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - | |
19 | -RUN apt-get install -y nodejs | |
20 | - | |
21 | -#Install python packages | |
22 | -RUN apt-get install -y python-setuptools | |
23 | -RUN easy_install pip | |
24 | - | |
25 | -#Install python and python lib for RabbitMQ | |
26 | -RUN apt-get install -y python | |
27 | -RUN pip install pika | |
28 | - | |
29 | -#Install Graylog | |
30 | -RUN pip install graypy | |
31 | -RUN pip install graypy[amqp] | |
32 | - | |
33 | -#Install aditional packages | |
34 | -RUN apt-get install -y pkg-config libfreetype6-dev libpng-dev xvfb | |
35 | -RUN apt-get install -y python-yaml libgomp1 python-numpy python-pyfits python-matplotlib idle | |
36 | -RUN pip install nltk==3.0.5 nltk_tgrep --upgrade | |
37 | -RUN pip install pysrt ffmpy pyvirtualdisplay | |
38 | -RUN apt-get install -y software-properties-common | |
39 | - | |
40 | -#Install FFmpeg | |
41 | -RUN add-apt-repository ppa:mc3man/trusty-media | |
42 | -RUN apt-get -y update | |
43 | -RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg | |
44 | - | |
45 | -WORKDIR /root/ | |
46 | -RUN mkdir -p ./storage/libras | |
47 | - | |
48 | -#Copy workers to container | |
49 | -COPY ./core/translator.py /root/translator.py | |
50 | -COPY ./core/renderer.py /root/renderer.py | |
51 | -COPY ./core/indexer.py /root/indexer.py | |
52 | -COPY ./core/PikaManager.py /root/PikaManager.py | |
53 | -COPY ./core/processManager.py /root/processManager.py | |
54 | -COPY ./core/logger.py /root/logger.py | |
55 | -COPY ./core/Trie.py /root/Trie.py | |
56 | - | |
57 | -COPY ./fonts/ /root/fonts/ | |
58 | - | |
59 | -COPY ./translate-api/ /root/translate-api/ | |
60 | -COPY ./bundles/ /root/bundles/ | |
61 | - | |
62 | -COPY ./vlibras-translate/ /root/vlibras-translate/ | |
63 | -COPY ./vlibras-libs/ /root/vlibras-libs/ | |
64 | -COPY ./unityVideo/ /root/unityVideo/ | |
65 | - | |
66 | -#Workers environment variables | |
67 | -ENV VLIBRAS_VIDEO_CREATOR="/root/unityVideo/videoCreator.x86_64" | |
68 | -ENV VLIBRAS_VIDEO_LIBRAS="/root/storage/libras" | |
69 | -ENV VLIBRAS_VIDEO_SCREENS="/root/storage/frames" | |
70 | -ENV SIGNS_VLIBRAS="/root/bundles" | |
71 | -ENV TEXT_FONTS="/root/fonts/FreeSans.ttf" | |
21 | +ENV VLIBRAS_VIDEO_CREATOR="/home/vlibras/unityVideo/videoCreator.x86_64" | |
22 | +ENV VLIBRAS_VIDEO_LIBRAS="/home/vlibras/storage/libras" | |
23 | +ENV VLIBRAS_VIDEO_SCREENS="/home/vlibras/storage/frames" | |
24 | +ENV SIGNS_VLIBRAS="/home/vlibras/bundles" | |
25 | +ENV TEXT_FONTS="/home/vlibras/fonts/FreeSans.ttf" | |
72 | 26 | |
73 | 27 | #Translator environment variables |
74 | -ENV HUNPOS_TAGGER="/root/vlibras-libs/aelius/bin/hunpos-tag" | |
75 | -ENV AELIUS_DATA="/root/vlibras-libs/aelius/aelius_data" | |
76 | -ENV TRANSLATE_DATA="/root/vlibras-translate/data" | |
77 | -ENV NLTK_DATA="/root/vlibras-libs/aelius/nltk_data" | |
78 | -ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vlibras-libs/aelius:/root/vlibras-translate/src" | |
79 | - | |
80 | -#Portas de comunicacao do container | |
81 | -WORKDIR /root/translate-api/ | |
82 | -RUN npm i | |
83 | - | |
84 | -#Comando de entrada quando inicializado | |
85 | -ENTRYPOINT ( sleep 1m) ; npm start & python /root/processManager.py | |
28 | +ENV HUNPOS_TAGGER="/home/vlibras/vlibras-libs/aelius/bin/hunpos-tag" | |
29 | +ENV AELIUS_DATA="/home/vlibras/vlibras-libs/aelius/aelius_data" | |
30 | +ENV TRANSLATE_DATA="/home/vlibras/vlibras-translate/data" | |
31 | +ENV NLTK_DATA="/home/vlibras/vlibras-libs/aelius/nltk_data" | |
32 | +ENV PYTHONPATH=":/home/vlibras/vlibras-libs/aelius:/home/vlibras/vlibras-translate/src:/home/vlibras/vlibras-libs/aelius:/home/vlibras/vlibras-translate/src" | |
33 | + | |
34 | +RUN apt-get update -y && \ | |
35 | + apt-get install -y sudo curl wget software-properties-common && \ | |
36 | + curl -sL https://deb.nodesource.com/setup_6.x | bash - && \ | |
37 | + add-apt-repository ppa:mc3man/trusty-media && \ | |
38 | + apt-get -y update && \ | |
39 | + apt-get install -y pkg-config libfreetype6-dev libpng-dev xvfb build-essential libssl-dev nodejs python-pip python-yaml libgomp1 python-numpy python-pyfits python-matplotlib idle ffmpeg gstreamer0.10-ffmpeg && \ | |
40 | + pip install nltk==3.0.5 nltk_tgrep --upgrade && \ | |
41 | + pip install pysrt ffmpy pyvirtualdisplay pika && \ | |
42 | + groupadd -r vlibras && useradd -r -g vlibras vlibras && \ | |
43 | + mkdir -p /home/vlibras/storage/libras | |
44 | + | |
45 | +WORKDIR /home/vlibras/translate-api/ | |
46 | + | |
47 | +COPY ./docker-entrypoint.sh / | |
48 | + | |
49 | +RUN npm i && \ | |
50 | + mkdir -p /home/vlibras/translate-api/logs && \ | |
51 | + chown -R vlibras. /home/vlibras && \ | |
52 | + chmod +x /docker-entrypoint.sh && \ | |
53 | + mkdir -p /storage && \ | |
54 | + chown -R vlibras. /storage | |
55 | + | |
56 | +USER vlibras | |
57 | + | |
58 | +VOLUME ["/home/vlibras/translate-api/logs"] | |
59 | +VOLUME ["/home/vlibras/storage"] | |
60 | + | |
61 | +EXPOSE 8080 | |
62 | + | |
63 | +ENTRYPOINT ["/docker-entrypoint.sh"] | ... | ... |
core/processManager.py
... | ... | @@ -16,7 +16,7 @@ def signalHandler(signal, frame): |
16 | 16 | |
17 | 17 | def spawnRenderer(): |
18 | 18 | while KEEP_RUNNING: |
19 | - proc = subprocess.Popen(["/root/renderer.py"], shell=True, stdout=subprocess.PIPE) | |
19 | + proc = subprocess.Popen(["/home/vlibras/renderer.py"], shell=True, stdout=subprocess.PIPE) | |
20 | 20 | print("Process RENDERER PID: " + str(proc.pid)) |
21 | 21 | try: |
22 | 22 | stdoutdata, stderrdata = proc.communicate() |
... | ... | @@ -26,7 +26,7 @@ def spawnRenderer(): |
26 | 26 | |
27 | 27 | def spawnTranslator(): |
28 | 28 | while KEEP_RUNNING: |
29 | - proc = subprocess.Popen(["/root/translator.py"], shell=True, stdout=subprocess.PIPE) | |
29 | + proc = subprocess.Popen(["/home/vlibras/translator.py"], shell=True, stdout=subprocess.PIPE) | |
30 | 30 | print("Process TRANSLATOR PID: " + str(proc.pid)) |
31 | 31 | try: |
32 | 32 | stdoutdata, stderrdata = proc.communicate() |
... | ... | @@ -36,7 +36,7 @@ def spawnTranslator(): |
36 | 36 | |
37 | 37 | def spawnIndexer(): |
38 | 38 | while KEEP_RUNNING: |
39 | - proc = subprocess.Popen(["/root/indexer.py"], shell=True, stdout=subprocess.PIPE) | |
39 | + proc = subprocess.Popen(["/home/vlibras/indexer.py"], shell=True, stdout=subprocess.PIPE) | |
40 | 40 | print("Process INDEXER PID: " + str(proc.pid)) |
41 | 41 | try: |
42 | 42 | stdoutdata, stderrdata = proc.communicate() | ... | ... |
docker-compose.yml
1 | 1 | version: '2' |
2 | - | |
2 | +volumes: | |
3 | + tradutor-rabbitmq: | |
4 | + external: true | |
5 | + driver: 'null' | |
6 | + core_db: | |
7 | + external: true | |
8 | + driver: 'null' | |
9 | + tradutor-bd: | |
10 | + external: true | |
11 | + driver: 'null' | |
12 | + tradutor_logs: | |
13 | + external: true | |
14 | + driver: 'null' | |
3 | 15 | services: |
4 | - | |
5 | 16 | mongo: |
6 | 17 | image: mongo:3.0.4 |
7 | 18 | volumes: |
8 | - - /data/db | |
9 | - ports: | |
10 | - - "27017" | |
11 | - | |
19 | + - tradutor-bd:/data/db | |
12 | 20 | rabbit: |
13 | - image: "rabbitmq:3-management" | |
14 | - ports: | |
15 | - - "15672" | |
16 | - - "5672" | |
21 | + image: rabbitmq:3-management | |
17 | 22 | volumes: |
18 | - - ./rabbitmq:/var/lib/rabbitmq | |
19 | - | |
23 | + - tradutor-rabbitmq:/var/lib/rabbitmq | |
20 | 24 | api: |
21 | - build: . | |
22 | - links: | |
23 | - - mongo | |
24 | - - rabbit | |
25 | - ports: | |
26 | - - "80:80" | |
25 | + image: hub.docker.planejamento.gov.br/vlibras/tradutor:coppe | |
27 | 26 | volumes: |
28 | - - core_db:/storage/ | |
29 | - restart: always | |
27 | + - core_db:/home/vlibras/storage/ | |
28 | + - tradutor_logs:/home/vlibras/translate-api/logs | |
29 | + links: | |
30 | + - rabbit:rabbit | |
31 | + - mongo:mongo | |
32 | + labels: | |
33 | + io.rancher.container.pull_image: always | |
30 | 34 | |
31 | -volumes: | |
32 | - core_db: | ... | ... |