Este projeto utiliza o poder e a facilidade de criação de aplicativos do Streamlit, juntamente com a versatilidade do Tesseract na conversão de imagens em texto (OCR). É uma aplicação muito simples, onde você faz o upload de uma imagem que contém textos e, em seguida, é disponibilizado para download um arquivo de texto com o conteúdo da imagem original.
Existem duas formas de construir a imagem da sua aplicação. A primeira é executar o build através do comando docker build
, que requer dois passos para ativar a sua aplicação. A outra é realizar o build diretamente pelo Docker Compose, onde, em um único passo, você constrói e ativa a sua aplicação. Essas são as duas abordagens existentes:
- Clonando o repositório:
git clone https://github.com/Renatoelho/app-ocr.git app-ocr
- Acessando o repositório:
cd app-ocr/
- Fazendo o Build da imagem da aplicação
docker build -f dockerfile -t app-ocr:0.0.1 .
- Ativando a aplicação:
docker compose -p app_ocr -f docker-compose-abor-1.yaml up -d
Tecnicamente, a diferença entre as duas abordagens está na ausência das linhas 5, 6 e 7 do arquivo docker-compose-abor-2.yaml em relação ao docker-compose-abor-1.yaml. Já na segunda abordagem, essas linhas são fundamentais para que não seja necessário executar o comando
docker build
.
- Clonando o repositório:
git clone https://github.com/Renatoelho/app-ocr.git app-ocr
- Acessando o repositório:
cd app-ocr/
- Ativando a aplicação (1ª ativação):
docker compose -p app_ocr -f docker-compose-abor-2.yaml up -d --build
- Ativando a aplicação (demais ativações):
docker compose -p app_ocr -f docker-compose-abor-2.yaml up -d
Se a implantação for feita com sucesso, é só acessar a seguinte URL http://localhost:8000 que a aplicação já estará em execução.
Na desativação da aplicação, ambas as abordagens exigem apenas um único passo.
- Abordagem com Docker Build + Docker Compose
docker compose -p app_ocr -f docker-compose-abor-1.yaml down
- Abordagem somente com Docker Compose
docker compose -p app_ocr -f docker-compose-abor-2.yaml down
Tesseract OCR, Tesseract. Disponível em: https://github.com/tesseract-ocr/tesseract. Acesso em: 01 de set. 2023.
Streamlit documentation, Streamlit. Disponível em: https://docs.streamlit.io/. Acesso em: 14 jun. 2023.
How to Successfully Implement A Healthcheck In Docker Compose, Linuxhint. Disponível em: https://linuxhint.com/how-to-successfully-implement-healthcheck-in-docker-compose/. Acesso em: 24 abr. 2023.
Install Docker Desktop on Ubuntu, docs.docker.com. Disponível em: https://docs.docker.com/desktop/install/ubuntu/. Acesso em: 15 de abr. 2023.
The Compose file, docs.docker.com. Disponível em: https://docs.docker.com/compose/compose-file/03-compose-file/. Acesso em: 15 de abr. 2023.
Service unit configuration, systemd.service. Disponível em: https://www.freedesktop.org/software/systemd/man/systemd.service.html. Acesso em: 05 jun. 2023.