Maps are statically served pre-rendered on the server side, without any need of client side JavaScript or canvas for rendering.
Obviously it's not interactive. But that's the point.
Map source is OpenStreetMaps.org. Tiles fetched from there and cached locally.
Merged and served as required.
https://maps.habibur.com/static/?lng=<longitude>&lat=<latitude>&zoom=<zoom>
to fetch a static tile where the center is marked in red.
Example call here /static/?lng=90&lat=23&zoom=13.