The best option would be to use a service like MapBox that provide the ability to customize the map and then host it.
If you only need an overview map (like countries and major cities, but not street level) you can also use tool like TileMill to generate a map database that can be then hosted. This involves much more work but allows you to host the map yourself.
There are also a few color schemes that we are hosting on our server (currently they only contain images up to zoom level 9-10):
Dark blue: https://maps.zoomcharts.com/0/0/0.png 
Light gray: https://maps.zoomcharts.com/arbor/0/0/0.png 
Dark gray: https://maps.zoomcharts.com/ubisoft/0/0/0.png 