From ce6a2b6708b09ba851a78051f882a3010333ad3d Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Fri, 4 Aug 2017 01:44:39 -0300 Subject: [PATCH] Documentação do container Docker no manual de instalação INSTALL.txt --- Dockerfile | 37 +++++++++++++++++++++++++++---------- README.md | 17 +++++++++++++++++ 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 917ce23..a18c395 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,9 @@ COPY usr/local/bin/ocr /usr/local/bin/ocr COPY etc/init.d/ocr-ubuntu /etc/init.d/ocr COPY entrypoint.sh /entrypoint.sh +WORKDIR /tmp + +# Instalação dos pacotes pré-requisitos do ocr-server 2 RUN apt-get -y update && \ apt-get -y install build-essential cmake libtool yasm pkg-config subversion git libgcj14 apt-utils \ curl libtiff-dev libpng-dev libopenjpeg-dev libjpeg8-dev libjpeg-turbo8-dev libjpeg-dev libgif-dev \ @@ -17,7 +20,8 @@ RUN apt-get -y update && \ apt-get -y clean all RUN wget -O mscorefonts.deb http://ftp.us.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.4+nmu1_all.deb && \ - dpkg -i mscorefonts.deb + dpkg -i mscorefonts.deb && \ + rm mscorefonts.deb # Instalação do Perl 5.1 e demais módulos RUN perl -MCPAN -e 'install File::Touch' @@ -30,37 +34,48 @@ RUN perl -MCPAN -e 'install IO::Select;' # Tesseract-ocr 3.05, com dicionários inglês e português # Bibliotecas para o Tesseract: Leptonica RUN git clone https://github.com/DanBloomberg/leptonica.git && \ - cd leptonica && ./autobuild && ./configure && make all install + cd leptonica && ./autobuild && ./configure && make all install && \ + rm -rf ../leptonica # Bibliotecas para o Tesseract: Libav RUN git clone https://github.com/libav/libav.git && \ export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib:/usr/local/src/leptonica/ && \ - cd libav && ./configure --enable-sram && make all install + cd libav && ./configure --enable-sram && make all install && \ + rm -rf ../libav -# Tesseract +# Tesseract 3.05.01 RUN git clone https://github.com/tesseract-ocr/tesseract.git && \ - cd tesseract && ./autogen.sh && ./configure && make all install + cd tesseract && ./autogen.sh && ./configure && make all install && \ + rm -rf ../tesseract RUN wget https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata?raw=true -O /usr/local/share/tessdata/eng.traineddata && \ wget https://github.com/tesseract-ocr/tessdata/blob/master/por.traineddata?raw=true -O /usr/local/share/tessdata/por.traineddata && \ wget https://github.com/tesseract-ocr/tessdata/blob/master/osd.traineddata?raw=true -O /usr/local/share/tessdata/osd.traineddata +# Poppler 0.56 RUN git clone -b poppler-0.56 https://anongit.freedesktop.org/git/poppler/poppler.git && \ - cd poppler && ./autogen.sh && ./configure --enable-cmyk --enable-libcurl && make all install && cd .. + cd poppler && ./autogen.sh && ./configure --enable-cmyk --enable-libcurl && make all install && \ + rm -rf ../poppler # pdftk, versão 2.02 ou superior RUN wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip && \ unzip pdftk-2.02-src.zip && rm -f pdftk-2.02-src.zip && \ - cd pdftk-2.02-dist/pdftk && make -f Makefile.Redhat all install + cd pdftk-2.02-dist/pdftk && make -f Makefile.Redhat all install && \ + rm -rf ../pdftk-2.02-dist # Ghostscript 9.18 ou superior RUN wget http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz && \ tar xvozf ghostscript-9.18.tar.gz && rm -f ghostscript-9.18.tar.gz && \ - cd ghostscript-9.18 && ls && ./autogen.sh; ./configure && make all install + cd ghostscript-9.18 && ls && ./autogen.sh; ./configure && make all install && \ + rm -rf ../ghostscript-9.18 +# CPDF Intel OS X v 2.2 RUN git clone https://github.com/coherentgraphics/cpdf-binaries.git && \ cp cpdf-binaries/Linux-Intel-64bit/cpdf /usr/bin +# Atualização das configurações do ld +RUN ldconfig + RUN useradd -m ocr RUN chmod +x /usr/local/bin/ocr && \ @@ -72,7 +87,7 @@ RUN mkdir /var/ocr-server/ && \ mkdir -p /var/ocr-server/Saida && \ mkdir -p /var/ocr-server/Originais_Processados && \ mkdir -p /var/ocr-server/Erro && \ - chmod +x entrypoint.sh + chmod +x /entrypoint.sh RUN mkdir -p /tmp/ocr_dev/ && \ mkdir -p /tmp/ocr_dev/Entrada && \ @@ -81,6 +96,8 @@ RUN mkdir -p /tmp/ocr_dev/ && \ mkdir -p /tmp/ocr_dev/Erro && \ chmod -R 777 /tmp/ocr_dev +WORKDIR / + VOLUME /var/ocr-server/ -CMD ["bash", "entrypoint.sh"] \ No newline at end of file +CMD ["bash", "/entrypoint.sh"] \ No newline at end of file diff --git a/README.md b/README.md index 1554aef..6495f5b 100644 --- a/README.md +++ b/README.md @@ -239,3 +239,20 @@ Quanto ao CPDF, é possível baixar a versão binária em: https://github.com/co # Inicie o serviço com service ocr start + + +## Container Docker + + O ocr-server também está disponível como um container Docker, permitindo o rápido provisionamento da solução em ambiente de produção. Todos os procedimento para construção da imagem do container podem ser encontrados no arquivo Dockerfile. + Para execução do serviço, basta que o docker instalado no servidor e executar o seguinte comando: + + docker run --name -d -v :/var/ocr-server guilhermeadc/ocr-server + + onde: + --name : Nome atribuído à instância do container. Ex: ocr-server + -d : Indicação executar o container em background + -v : Diretório de compartilhamento entre o servidor host e o container. + O parâmetro deve ser substituído pelo diretório base para busca de arquivos. + + Para vistualizar os logs de processamento do serviço, basta executar o seguinte comando: + docker logs \ No newline at end of file -- libgit2 0.21.2