tleyden / open-ocr

Run your own OCR-as-a-Service using Tesseract and Docker
Apache License 2.0
1.33k stars 223 forks source link

Is there a version for armv7l hardware (Raspbery Pi)? #101

Closed mysmartbus closed 6 years ago

mysmartbus commented 6 years ago

Installation failed on a Docker swarm running on Raspberry Pi's.

Everything installed correctly but none of the services would replicate or start.

Docker service ps gives the error message: no suitable node (unsupported platform...).

Docker service inspect shows that all of the services are expecting amd64 hardware.

Is there a version of open-ocr that will run on a Raspberry Pi (armv7l)?

tleyden commented 6 years ago

Nope, you'd be the first to make that work!

mysmartbus commented 6 years ago

Ok.

Looking through the code and Dockerfile's, it looks like getting this running on a Raspberry Pi cluster will be as simple as changing the FROM line in the Dockerfiles to point to the arm32v7 version of the base package.

Got rabbitmq running by changing the docker-compose file to use arm32v7/rabbitmq:3.6.15-management.

I'm going to find out how simple the rest of it really is.

mysmartbus commented 6 years ago

Sucess!

Well, it is as long as you do not use the stroke-width-transform preprocessor. open-ocr times out after 2 minutes with the message: "Unable to perform OCR decode. Error: Timeout waiting for RPC response"

Currently uses libtesseract3 because I could not get libtesseract4 to install from the ppa (ppa:alex-p/tesseract-ocr). Keep getting told libtesseract4 does not exist. Might have to build and install libtesseract4 from source code.

The only changes I needed to make were to the dockerfiles.

The dockerfiles are available from https://github.com/mysmartbus/open-ocr.