Commit e922cb1eb926b4070d1d75643755b4ff20addc80
1 parent
f811c70c
Exists in
coppe
Modificando Dockerfile e compose
Showing
3 changed files
with
88 additions
and
63 deletions
Show diff stats
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"] | ... | ... |
... | ... | @@ -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 | + | ... | ... |