DEV Community

Cover image for Where to host your images forever and ever?
Rich Steinmetz
Rich Steinmetz

Posted on

Where to host your images forever and ever?

Hey folks,

Hosting images is something you don't think about when you start your first or second content project, but with time it can get interesting especially if you want to decouple yourself from third-party platforms as much as possible.

In my post about how to write your content in markdown and open-source your blog I propose as one possibility to host your images on GitHub as part of your Integrated Writer Environment (IWE).

Just push your images to GitHub and get the permalink of this file's particular commit state. As I understand, the only ways your image URLs will be lost are:

  • You remove the according repository or branch
  • You remove the repository
  • GitHub dies

At the same time, cloudinary seems a great place to have your stuff on too, given their API and general capabilities.

  1. What do you think of the GitHub hosting approach?
  2. Where do you host your images forever and ever?

Top comments (7)

Collapse
 
joelbonetr profile image
JoelBonetR πŸ₯‡ • Edited

Google cloud storage could be a good option for you, you'll get a permalink and some features for managing your content. This does not apply to images only, you can also add PDF or other files for your users to download, and you cal also use the API to store user uploads on it.

Visit the official site for further detailed information.

Now, asking your question I don't see github as a valid option as you are blending services. I see git servers as version control services, not as storage ones.

I see this ans other similar solutions (including github pages) as things to use as a learner but as a professional you want more capabilities, control and features.

Collapse
 
richstoneio profile image
Rich Steinmetz

Thanks for the tip with GCP, Joel! I guess I could use AWS for exactly the same or does GCP offer some extra handy stuff?

You are totally right about separation of concerns. In my case it still might make sense since I've open sourced my content on GitHub anyway. This way it's a bit like using a static site generator, like Gatsby or Jekyll, where all the content including files and images is often in one place too.

Collapse
 
joelbonetr profile image
JoelBonetR πŸ₯‡

I really don't know if AWS (or azure) offers a similar product TBH, we use both GCP and AWS and our CTO did the research and ask us to go for GCP so there must be some reason behind this decision, maybe features or cost πŸ˜‚

When you opensource an app It depends on the way the product is distributed. If people will install the app on them own servers then store the multimedia on the same server it's hosted by default, then they will change it to use a distributed platform such as GCP or not depending on the count and usage of this multimedia or the globalization grade of their market share.

On the other hand if people will make instances of your app using your server it must be deployed into an escalable platform (distributed) in order to deal good performance everywhere, so the multimedia will be stored into some of this CDN like storages such GCP (or another) to avoid unnecessary data replication.

Have you a better idea or a different use case?

Thread Thread
 
richstoneio profile image
Rich Steinmetz

Gotcha! I think in terms if hosting your files GCP and AWS will serve the same way and on the scale of a personal blog the cost won’t matter..

By β€œopen-sourcing” I really meant my blog content. You just have your source of truth in GitHub and update on the different platforms accordingly whenever you make any changes.

Thread Thread
 
joelbonetr profile image
JoelBonetR πŸ₯‡

it's not about hosting, it's about the API for store and retrieve files but yes, there are many ways to deal with that, it's simply a "try and conclude" to choose the best tool for you

Collapse
 
sfiquet profile image
Sylvie Fiquet

One thing to keep in mind is that Github has limits on repository and file size.

Repository size:

We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended.

File size:

Individual files in a repository are strictly limited to a 100 MB maximum size limit.

If you have lots of images or big files, you'll eventually need to host them somewhere else.

Collapse
 
richstoneio profile image
Rich Steinmetz

Thanks for the tip! Never heard about it. Just found this SOF thread about a hard limit of 100 GB in GitHub: