Dockerfile 2.79 KB
FROM ubuntu:14.04
MAINTAINER Jonathan Brilhante
MAINTAINER CAPGov-INFRA

#Workers environment variables
ENV VLIBRAS_VIDEO_CREATOR="/home/vlibras/unityVideo/videoCreator.x86_64"
ENV VLIBRAS_VIDEO_LIBRAS="/storage/libras"
ENV VLIBRAS_VIDEO_MIXED="/storage/videos"
ENV VLIBRAS_VIDEO_SCREENS="/storage/frames"

#Translator environment variables
ENV HUNPOS_TAGGER="/home/vlibras/vlibras-libs/aelius/bin/hunpos-tag"
ENV AELIUS_DATA="/home/vlibras/vlibras-libs/aelius/aelius_data"
ENV TRANSLATE_DATA="/home/vlibras/vlibras-translate/data"
ENV NLTK_DATA="/home/vlibras/vlibras-libs/aelius/nltk_data"
ENV PYTHONPATH=":/home/vlibras/vlibras-libs/aelius:/home/vlibras/vlibras-translate/src"

ENV DEBIAN_FRONTEND=noninteractive 

COPY ./vlibras-video/core/extractor.py /home/vlibras/extractor.py
COPY ./vlibras-video/core/mixer.py /home/vlibras/mixer.py
COPY ./vlibras-video/core/renderer.py /home/vlibras/renderer.py
COPY ./vlibras-video/core/translator.py /home/vlibras/translator.py
COPY ./vlibras-video/core/PikaManager.py /home/vlibras/PikaManager.py
COPY ./vlibras-video/core/processManager.py /home/vlibras/processManager.py
COPY ./vlibras-commons/unityVideo/ /home/vlibras/unityVideo/
COPY ./vlibras-commons/vlibras-translate/ /home/vlibras/vlibras-translate/
COPY ./vlibras-commons/vlibras-libs/ /home/vlibras/vlibras-libs/
COPY ./vlibras-video/vlibras-api/ /home/vlibras/vlibras-api/

RUN apt-get -y update && \
	apt-get install -y software-properties-common curl wget && \
	add-apt-repository ppa:mc3man/trusty-media && \
	curl -sL https://deb.nodesource.com/setup | sudo bash - && \
	apt-get -y update && \
	apt-get install -y libglapi-mesa libgl1-mesa-dri libsdl2-2.0 libgl1-mesa-glx 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 && \
	apt-get clean && \
	groupadd -r vlibras && useradd -r -g vlibras vlibras && \
	pip install pika && \
	pip install nltk==3.0.5 nltk_tgrep --upgrade && \
	pip install pysrt pyvirtualdisplay && \
	mkdir /storage/ && \
	mkdir -p /storage/videos/ && \
	mkdir -p /storage/libras/ && \
	mkdir -p /storage/frames/ && \
	mkdir -p /home/vlibras/vlibras-api/uploads/ && \
    mkdir -p /home/vlibras/log && \
	chown -R vlibras /storage/

WORKDIR /home/vlibras/vlibras-api/

COPY ./vlibras-video/docker-entrypoint.sh /

RUN npm cache clean && \
	rm -rf node_modules && \
	npm i && \
	npm install amqplib && \
    mkdir -p /home/vlibras/vlibras-api/logsystem/logs && \
	chown -R vlibras. /home/vlibras && \
	apt-get purge -y build-essential && \
    chmod +x /docker-entrypoint.sh && \
    ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime 

USER vlibras

EXPOSE 8080
VOLUME ["/storage"]
VOLUME ["/home/vlibras/vlibras-api/logsystem/logs"]

ENTRYPOINT ["/docker-entrypoint.sh"]