Use of Docker in Blockcerts


Hi, what exactly is Docker used for? As far as I have read, it is used to run bitcoin regtest mode and other bitcoin related commands (generate address, funds, etc.) for cert-issuer. For cert-viewer, it helps run the LOCAL Flask app to see and/or verify certificates. Can we eliminate the use of Docker at all?

My objective is to build an all encompassing app that makes it easier for institutions to create certificates, issue them on the blockchain (Etherum by default because cheaper, or any other, depending on the case), and verify the same for uploaded/linked certificates. I was thinking Docker is a must and the more I study it, I realise I can eliminate Docker entirely and simply make a website/webapp hosted on a python server and use the cert-tools, cert-issuer, and cert-verifier packages from pip [or even the included files if not pip].

Please let me know if I’m headed in the right direction. Or if Docker is an absolute must.

PS. The reason I’m trying to avoid docker is that I have NO experience in containers and would like to reduce my learning curve (or at least spread it over different versions)


In such a scenario, the webapp would contain just forms to write into conf.ini files and [maybe] context.json files. With verifier-js, I can verify certificates similar to the kind done in cert-web-component, but with greater customizability.


Docker is definitely optional. The presence of the Docker container in the quick-start guide is handy because it yields an environment that can be brought up with just a few command lines and is functional right away. If you’d prefer to avoid Docker, and you’re handy with Python, I recommend just building it out inside of a virtualenv instead, and go from there.