As part of setting up another new blog I had to figure out the best way to upload images that I use in blog posts. If I chose Tumblr, Wordpress, etc to blog this would have been easy because those systems allow for easy multimedia uploads. However, in setting up this blog I wanted to control everything. I wanted all the content available on my machine, not in someone else’s database. Jekyll is great for the written content but it doesn’t have an obvious way to host images. I could have stored them all in an ‘images’ folder but I wasn’t sure how much a large folder of images would slow performance of my blog down the road. It didn’t seem like the ideal solution.
I googled around and looked at the image sources of other people using images on their Jekyll blogs. The two primary apps for image hosting with Jekyll seemed to be Cloudapp and Droplr. You have to pay for Cloudapp and Droplr had a small free service. I was feeling cheap and didn’t want to pay. I also didn’t want to postpone finding a viable solution and I would inevitably reach the Droplr file limit at some point. What to do?
I decided to download the Rack Static Boilerplate I often use to host basic static sites on Heroku. I then drop all the images I want to use in blog posts in the ‘Public’ folder and push to a basic heroku app I set up to host my blog images. Done!
If my blog ends up getting a lot of hits and consequently the heroku app gets a lot of requests for the images this could become an expensive solution. Until that point, its free and there is no limit I know of. At that point I guess I will have to figure out how to personally host an app on EC2, which will be a good thing to learn.