Commit ce6a2b6708b09ba851a78051f882a3010333ad3d

Authored by Guilherme Andrade Del Cantoni
1 parent 5eec72f7

Documentação do container Docker no manual de instalação INSTALL.txt

Showing 2 changed files with 44 additions and 10 deletions   Show diff stats
Dockerfile
... ... @@ -6,6 +6,9 @@ COPY usr/local/bin/ocr /usr/local/bin/ocr
6 6 COPY etc/init.d/ocr-ubuntu /etc/init.d/ocr
7 7 COPY entrypoint.sh /entrypoint.sh
8 8  
  9 +WORKDIR /tmp
  10 +
  11 +# Instalação dos pacotes pré-requisitos do ocr-server 2
9 12 RUN apt-get -y update && \
10 13 apt-get -y install build-essential cmake libtool yasm pkg-config subversion git libgcj14 apt-utils \
11 14 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 && \
17 20 apt-get -y clean all
18 21  
19 22 RUN wget -O mscorefonts.deb http://ftp.us.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.4+nmu1_all.deb && \
20   - dpkg -i mscorefonts.deb
  23 + dpkg -i mscorefonts.deb && \
  24 + rm mscorefonts.deb
21 25  
22 26 # Instalação do Perl 5.1 e demais módulos
23 27 RUN perl -MCPAN -e 'install File::Touch'
... ... @@ -30,37 +34,48 @@ RUN perl -MCPAN -e 'install IO::Select;'
30 34 # Tesseract-ocr 3.05, com dicionários inglês e português
31 35 # Bibliotecas para o Tesseract: Leptonica
32 36 RUN git clone https://github.com/DanBloomberg/leptonica.git && \
33   - cd leptonica && ./autobuild && ./configure && make all install
  37 + cd leptonica && ./autobuild && ./configure && make all install && \
  38 + rm -rf ../leptonica
34 39  
35 40 # Bibliotecas para o Tesseract: Libav
36 41 RUN git clone https://github.com/libav/libav.git && \
37 42 export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib:/usr/local/src/leptonica/ && \
38   - cd libav && ./configure --enable-sram && make all install
  43 + cd libav && ./configure --enable-sram && make all install && \
  44 + rm -rf ../libav
39 45  
40   -# Tesseract
  46 +# Tesseract 3.05.01
41 47 RUN git clone https://github.com/tesseract-ocr/tesseract.git && \
42   - cd tesseract && ./autogen.sh && ./configure && make all install
  48 + cd tesseract && ./autogen.sh && ./configure && make all install && \
  49 + rm -rf ../tesseract
43 50  
44 51 RUN wget https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata?raw=true -O /usr/local/share/tessdata/eng.traineddata && \
45 52 wget https://github.com/tesseract-ocr/tessdata/blob/master/por.traineddata?raw=true -O /usr/local/share/tessdata/por.traineddata && \
46 53 wget https://github.com/tesseract-ocr/tessdata/blob/master/osd.traineddata?raw=true -O /usr/local/share/tessdata/osd.traineddata
47 54  
  55 +# Poppler 0.56
48 56 RUN git clone -b poppler-0.56 https://anongit.freedesktop.org/git/poppler/poppler.git && \
49   - cd poppler && ./autogen.sh && ./configure --enable-cmyk --enable-libcurl && make all install && cd ..
  57 + cd poppler && ./autogen.sh && ./configure --enable-cmyk --enable-libcurl && make all install && \
  58 + rm -rf ../poppler
50 59  
51 60 # pdftk, versão 2.02 ou superior
52 61 RUN wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip && \
53 62 unzip pdftk-2.02-src.zip && rm -f pdftk-2.02-src.zip && \
54   - cd pdftk-2.02-dist/pdftk && make -f Makefile.Redhat all install
  63 + cd pdftk-2.02-dist/pdftk && make -f Makefile.Redhat all install && \
  64 + rm -rf ../pdftk-2.02-dist
55 65  
56 66 # Ghostscript 9.18 ou superior
57 67 RUN wget http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz && \
58 68 tar xvozf ghostscript-9.18.tar.gz && rm -f ghostscript-9.18.tar.gz && \
59   - cd ghostscript-9.18 && ls && ./autogen.sh; ./configure && make all install
  69 + cd ghostscript-9.18 && ls && ./autogen.sh; ./configure && make all install && \
  70 + rm -rf ../ghostscript-9.18
60 71  
  72 +# CPDF Intel OS X v 2.2
61 73 RUN git clone https://github.com/coherentgraphics/cpdf-binaries.git && \
62 74 cp cpdf-binaries/Linux-Intel-64bit/cpdf /usr/bin
63 75  
  76 +# Atualização das configurações do ld
  77 +RUN ldconfig
  78 +
64 79 RUN useradd -m ocr
65 80  
66 81 RUN chmod +x /usr/local/bin/ocr && \
... ... @@ -72,7 +87,7 @@ RUN mkdir /var/ocr-server/ && \
72 87 mkdir -p /var/ocr-server/Saida && \
73 88 mkdir -p /var/ocr-server/Originais_Processados && \
74 89 mkdir -p /var/ocr-server/Erro && \
75   - chmod +x entrypoint.sh
  90 + chmod +x /entrypoint.sh
76 91  
77 92 RUN mkdir -p /tmp/ocr_dev/ && \
78 93 mkdir -p /tmp/ocr_dev/Entrada && \
... ... @@ -81,6 +96,8 @@ RUN mkdir -p /tmp/ocr_dev/ && \
81 96 mkdir -p /tmp/ocr_dev/Erro && \
82 97 chmod -R 777 /tmp/ocr_dev
83 98  
  99 +WORKDIR /
  100 +
84 101 VOLUME /var/ocr-server/
85 102  
86   -CMD ["bash", "entrypoint.sh"]
87 103 \ No newline at end of file
  104 +CMD ["bash", "/entrypoint.sh"]
88 105 \ No newline at end of file
... ...
README.md
... ... @@ -239,3 +239,20 @@ Quanto ao CPDF, é possível baixar a versão binária em: https://github.com/co
239 239  
240 240 # Inicie o serviço com
241 241 service ocr start
  242 +
  243 +
  244 +## Container Docker
  245 +
  246 + 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.
  247 + Para execução do serviço, basta que o docker instalado no servidor e executar o seguinte comando:
  248 +
  249 + docker run --name <NOME_CONTAINER> -d -v <DIRETORIO_BASE>:/var/ocr-server guilhermeadc/ocr-server
  250 +
  251 + onde:
  252 + --name : Nome atribuído à instância do container. Ex: ocr-server
  253 + -d : Indicação executar o container em background
  254 + -v : Diretório de compartilhamento entre o servidor host e o container.
  255 + O parâmetro <DIRETORIO_BASE> deve ser substituído pelo diretório base para busca de arquivos.
  256 +
  257 + Para vistualizar os logs de processamento do serviço, basta executar o seguinte comando:
  258 + docker logs <NOME_CONTAINER>
242 259 \ No newline at end of file
... ...