It is possible to run a local tile server up to zoom level ~10, which take some 200-300Mb if the level of detail is limited meaning that this could be fine if the data is country/state level. For example, the black map we use in some of our examples is a 1.8GB sqlite database. See https://forum.zoomcharts.com/t/question-about-map-colors/597 for the maps that we have pregenerated - if any of those would work for you, I can share the map database and the php script used to host them.
You can also generate the map with the style you need using TileMill that can then be hosted with the same simple script.
Another option would be to use a shape file in GeoJSON format - this would work if you do not need more details than the country/state shapes. In this case you could disable the background layer completely. See this example.