Skip to content
crapet.dev

Full Circle

A Round-Trip search for the perfect static hosting.

8 min read

At a personnal level, I’ve always loved how bref.sh allowed us to run serverless php function on aws. I mean, I’ve run some personnal website, that do not have lots of traffic, for 4 cents / month. Not even sure that i’m billed for that.

So when I was asked some help regarding an old school wordpress website, running an antic VPS at 5€/month for 1 CPU at OVH, my first reaction was “meeeeeeh” we can probably do something simpler. My second reaction was “do I really want to dig into that? :D”

And then ideas start coming, some simpler, some complex.

I will not go there for very long, but I’ll start investigation the VPS and the wordpress instance. Everything was 7 years old outdated. I’ve tried a bit of update, directly on the vps (why not?), nothing worked. Than, I installed everything locally, start setting up a new php instance but of course, nothing worked either.

So, I set an old linux OS and try updating the wordpress first, plugin per plugin, version per version. It started to work-ish, but was really time consuming, not really worth it.

And then, after 1 week or 2 of giving up, the illumination. What was I asked for? What was their problem? Check the website, make some small contents update.

The website is dead simple, 5 pages top and they almost never updated them (never in the last 2 year) so they do not need wordpress. This was the de facto choice, because when you know nothing, the basic solution is to start with wordpress. And welcome to having a gas factory instead of a basic html website.

A few years, maybe a few months ago, the convertion from a wordpress website to a static website would have taken much time, at least for me, when you’re not an expert with CSS. But, AI has so much improved lately

I’m using warp (you should have a look to that AI terminal, really incredible), and ask claude 4.6 MAX ULTRA “convert that website with url to a static one on html/css/js (if necessary), I need these 5 pages :…” That’s all the prompt contained and 15 minutes later, the whole website was 99% ok (I forgot a page and some link was broken), and with perfect performance (as being static).

// mettre screenshot warp (historique conversation)

It’s been awhile since I’ve done that, but clearly I do not need any server for some HTML & CSS.

For that website, I have two criterias :

  • Simplicity
  • Cost as less as possible

My first idea was, do something as a serverless function but as I do not need server side rendering, I move on to Object Storage for static assets.

This website was already hosted in OVH (french cloud), so I figured out, let’s stay there. Create public cloud project, host files in object storage : easy.

To make a quick test, I upload the files manually, well it’s not directly possible because of folders (like /assets/css), you have to create them manually. Here it’s ok because structure is simple, but it’s not really maintenable and I do want to use S3 cli to do that, as I only need to upload twice a year top. It’s unfortunately something that happen from time to time with OVH, something is not exactly how you expect it to be and you’re a bit deceived. Like when I canceled the VPS running the website for immediate action, it still showed “active” after. I wait a few hours, and still the same and I had to do the whole process again. It still showed “active” and I can still canceled it manually so maybe it’s already done. And no dark theme, so when lights go off, pray for your eyes. And you have the classic menu, them the same with navigation beta and then the new manager. I mean, come on guys. So stick to something that work not 3 differents !

So, it work, in http. What about https? You have to use a load balancer that cost 6€/month. 6€ PER MONTH.

Time to talk about money. As a personnal goal, I want that website to cost the less as possible. Not in 5€/month is ok, but in 1 cent/month looks pretty fine! Why? Because, that’s totally doable with static hosting. For a small store website, visits are small. So 6€/month, I mean come on, no way.

After some search, there are many solutions for static hosting, many involved CI and automation, but I don’t care, I just want to drop the freaking files and I’m done. I decide to go with Cloudflare, because I already have an account for another project (to handle DNS). Cloudflare offers two ways for static hosting :

  • R2
  • Pages

// ajouter image cloudflare conf avec le root domain (ce qui n’existe pas ailleurs)

Both work great, both are free for my usage, pages seems a bit too much for my use case, R2 is ideal. I was able to set them up with HTTPS and the real root domain name. Perfect! Perfect? Almost, my main concern is the US, I would prefer to host it in EU. I know, some of new, may do not care at all, but I think, especially in these troubles times, we should really think about where we host our data.

That’s when I start remembering of Scaleway. When I say remembering, it’s like you google hosting, there are many providers but you can’t test every one of them, especially for that. As I already know Scaleway, I decided to go with them.

What I don’t remember was the interface.

![[Screenshot 2026-05-23 at 21.53.40.png]]

Honestly, it’s the best I’ve seen from a cloud provider. Don’t judge a the physic? Yes, but… Create an object storage, upload the whole folder, 5 second later, the website is up. Ok with an interne domain name but still, that’s was easy. So I start setting up the real domain name, and, a disapointement, no HTTPS available.

That means, classic object storage is usefull for backup but for really for web. But, there is a solution, to make it works with TLS, you can subcribe to a edge service for 0.99€/month. I was exception 1 cent a month, the increase is hugo, “NO GO MAN!”

As, I have a free trial, I still tried it. When you configure it, the website loading was 3 times faster (from ~300ms to ~100ms). But there is a still a catch, it only with subdomain, you can’t use it with a root domain. Anyway, I still do not which to pay 1€/month for that website.

At that point, I went to sleep a bit dispointed. But next morning, I still needed to host that website.

Want I dig :

  • aws amplify : 0.01 USD per minute, weellllllllllllll no thanks
  • github pages : had to pay 4$ if you want custom subdomain
  • gitlab pages : free - Call me stupid but it’s not simple enough, you have to build the static website. I just want to drop the freaking files and that’s it! * I’ve tried it anyway, used a template pages/html by default and it still required me to recreate the template. I mean, a bug at the start, how is this possible?

Should I create a symfony website, just to host it with bref. Would match my price criteria but not the simplicity one.

On aurait pu faire l’inverse, gérer le dns côté cloudflare avec redirection de ROOT vers www. (qui est hébergé chez scaleway => why not franchement) But still means 1€/mois + traffic 8 cents

So, I’m going back to Cloudflare, and you remember, I was not totally happy for that, due to not being an EU service. I’m setting up everything again and it still works as expected, but something seems off to me.

Next morning, while ideas start flowing, I figure, come on, if it’s possible with Cloudflare, I should be able to do it with Scaleway. What Cloudflare does to make it work is using CNAME flattening, basically it’s adding a CNAME entry at root level (which is not officially allowed). So you add that CNAME entry to you bucket endpoint (https://rootdomain.fr.s3.fr-par.scw.cloud) root domain, your object storage bucket is properly configure (bucket id must be egal to the root domain) and voila! Is it simple? Yes (with a hesitant voice) but not for non technical people. Price : 0€/month (almost) // refaire estimation côté scaleway

Also, cloudflare was dealing with the DNS and give me the TLS certifcate, so I do not need anything on scaleway side.

So I was quite happy,

When I was buying the domain for this blog, I noticed that OVh offer a free hosting plan with it. The size is ultra limited though 100Mo, but for small static website is enough, you even have php installed. That comes for tradeoff, you can’t choose the datacenter.

From an interface point of view, OVH is far from the others. Should I go back to OVH, it’s offers simplicity for the person who own the website, everything is on the same place and it’s way more simpler. You just have to upload your files through FTP. Though, it’s not really techy. Let’s try it, after a few error (I need to create 3 times the ssl certificate, as I say before OVH is sometimes unreliable). Also, when add the hosting plan to my current domain, it offers me to add A / MX record to the domain, which I did, but it seems that it did not work and it was still the old record pointing to the VPS. These kind of things, makes you lost a bit of trust. Well, it’s free so maybe don’t except too much right?

In the end, I’ve uploaded all the static files on the FTP, and migrate back the DNS into OVH. And well, it works without any issue.

Yes it is, I think when you want to learn something new and want to makes the best choice possible, you have to really dig into it and go into some sort of similar process. You have to try, to fail, to succedeed, to make trade off, otherwise you will never learn.

It also mean that you have some criteria and you must be able to make trade offs on them to adapt. Here it was :

  • Simplicity
  • Cost
  • EU

I had to lower simplicity a bit to have the others two

For this blog you ask? I’ve chosen cloudflare for DNS, and scaleway to deploy it with the S3 api (with no edge services, because I don’t need them).