Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What free or low-cost static site hosting do you use most?
209 points by shovel on Nov 23, 2016 | hide | past | favorite | 220 comments
I still use Wordpress and shared hosting for most projects and microsites, simply because it's easiest and I'm not a developer. But I suspect there are better ways to do this in 2016/2017. Especially since I'm prepared to learn more.

Essentials: static hosting, custom domains, html, css, js Nice to have: php, FTP, markdown support

Am I missing out on AWS, Github, Digital Ocean, Heroku?

What are the pros and cons?

I use Github to host the source for my blog/website which is open source. Jekyll for the building which happens on Travis CI. Deployment on S3 with cloudflare as a CDN for SSL and reduced bandwidth. I really like this setup. I wrote a guide called The One Cent Blog[0] a while back detailing how it's setup. Typical months the cost is around $0.01-$0.03.

Becuase people usually ask why S3 over Github pages I'll answer it up front. Github pages is too limited in terms of what you can do with custom jekyll plugins and code.

0: https://hugotunius.se/2016/01/10/the-one-cent-blog.html

However, you can simplify this on your computer like I do by having a repo with your source, disabling jekyll on github, and pushing the results to the user.github.io repo so that github acts like s3 and you get a $0.00 blog.

Nice thing for S3 though is you could cloudfront it if you wanted to for some reason. And it's in your control.

Yeah, I do this too - https://github.com/jrheard/blog is my source, https://github.com/jrheard/jrheard.github.io is the generated static site. This allows me to use whatever Jekyll plugins I want.

I literally wholesale copy-pasted the Rakefile in http://ixti.net/software/2013/01/28/using-jekyll-plugins-on-... in order to set this up, it was very easy thanks to that great article - all you have to do is run `rake publish` at the command line, and your site builds locally and the finished product is deployed to your github pages repo.

I like your Travis CI setup, I may copy it myself.

Here's the workflow I currently use if the OP wants something with less moving parts. I just use s3_website from the command line. It will even create the s3/cloudfront configuration completely automatically.

    gem install s3_website
    ; set up s3_website.yml and AWS environment variables
    s3_website cfg apply ; this creates and configures the S3 bucket and cloudfront configuration
    s3_website push ; push to S3, invalidate cloudfront caches

If you're just hosting a static blog website/personal site - is it really worth using Travis on it?

I've yet to use it on mine and curious if I should start essentially.

No. People add so much unnecessary overhead and bullshit these days. All you need for static is a push from local to your host with SCP. A one-line script if you include some markdown to HTML, or just use Jekyll and straight SCP that.

To each their own. I actually think this setup is much simpler. I just have to push to git which I'd be doing in any case and it automatically deploys everything. If I were to manually sync I'd both have to remember that and I'd have to figure out a secure way to store the credentials.

I figured as such...I just use Github Pages with my own domain, develop on one branch and push changes to gh_pages...and done. Simple and fast.


For basic blogs/sites github pages are free and fast. For all custom static sites I run a local Jekyll setup with multiple plugins and push the _site folder to Github for free hosting.

> Typical months the cost is around $0.01-$0.03.

For how many visitors?

Not that many admittedly, about 10k requests from 1.5k unique users in the past month. With that said 10m requests would still only come out at $4 so it's still a good choice for most low traffic sites.

I just checked one article on my WordPress to have a point of comparison. That's 87 requests total and 4.7 MB.

The first page of HN (and reposts) will bring over 100k views in the month.

Either I'm crazy, or that's about 1M HTTP requests and 500 GB of traffic to serve u_u

Serving that over S3 or CloudFront would be $45 (mostly traffic charge). OMG. Definitely not a bill i want for my personal blog.

That's a great idea for a future post: "The day I listened to HN advice and bankrupted myself by hosting my blog on S3". With a live counter and animations to see how much each visitor is ruining me in real time, it will be awesome! :D

I guess it depends on your page size. My pages average around 10kb and make two requests per page. At 1m hits that's still only $0.80 if we don't include Cloudflare reducing the number of requests that reach S3. If anything 87 requests and 4.7mb makes it sound like you have a bit of an obesity[0] problem on your blog.

0: http://idlewords.com/talks/website_obesity.htm

I'd say you're the one who has a lack of content problem.

Just the raw text of the article is over 10kb.

The pictures (logo, header, images, graphs in the articles) are easily 0.1 to 1 MB for every article.

The specific article I checked has 2 animated gifs which are MB each. That's why the 5 MB. I sure don't want to pay $50 because of a picture.

Well, there's your problem then. You could easily not host the gifs, or use a much slimmer format to reduce those MBs.

If you host your page on a "pay-per-view/size" service, then it might make sense to not send as much content as you can, but instead try to reduce it.

I used to have my site on s3, but the last time I was on hn I got dinged $450 (images and 4k videos)

now I self host with failover to s3.

I don't understand why you need the S3 if you're already hosting it on github pages.

Sorry about the confusion. The source[0] is hosted on Github, but the actual page when compiled to static files is hosted on S3.

0: https://github.com/k0nserv/hugotunius.se

Yeh I think everybody is saying that if you are already hosting the source on GH, there is no need to host the static files on S3 -- you may as well just host it on GH:pages, because that will be free and you get all the benefits of S3.

Plus, you can use custom URLs on Github pages.

I have a soft spot for Neocities, which is trying to be everything we loved about Geocities, but for a modern age:


ZERO ADVERTISEMENTS, even for the free plan. Supports only static hosting, is free for 100mb websites with bandwidth of 50GB per month, or five dollars per month for 10,000mb with 2TB and a number of other extra features.

EDIT: As mentioned by detaro, custom domain only supported in the paid plan, see https://neocities.org/supporter

Works really well with creative coding frameworks like p5js or Twine, for fun, fast little sketches you just want to thrown online and share with others:



Also, they really care about resurrecting the ideals of the old internet:



Thanks for the warm words!

> ZERO ADVERTISEMENTS, even for the free plan. Supports only static hosting, is free for 100mb websites with bandwidth of 50GB per month, or five dollars per month for 10,000mb with 2TB and a number of other extra features

Haven't announced yet, but these numbers are all increasing soon. Well, except for the advertising one. I'm literally in the datacenter right now working on it.

Be nice if neocities support Lektor (https://www.getlektor.com/), or some sort of web gui static publishing framework. Something easy like WordPress, but not so blog focused. I'd do it myself if I had macOS, but haven't got it setup for Windows yet.

You're welcome! I'm a happy supporter and have used it in the classroom as a no-fuss just-get-started option a few times.

(BTW, the list on https://blog.neocities.org/ seems outdated - it doesn't mention that SSL article for example)

> Well, except for the advertising one.

What about the five dollars per month one?

Neocities is slightly more expensive hosting (if I want to use my custom domain, which I do) than other options. $5/mo is still really affordable though and I like what they're doing so I chose to support them.

I can't find if neocities support custom domain names, any idea?

I loved geocities too, and I always wished I"d had a CORS backend to call from my HTML pages. I built a service specifically to be a CORS backend for neocities. You can signup, and start making CORS calls from your neocities pages to a sqlite database on my service. I tried several times to contact the owner of neocities about this but he never responded. Since then I implemented static file hosting and pivoted to a "Single Page App One Stop Shop" model. We offer custom domains and free ssl (Lets Encrypt) for early adopters. Link in my profile.

> You can signup, and start making CORS calls from your neocities pages to a sqlite database on my service.

If I'm understanding what you're trying to do, this isn't on our end. Neocities currently doesn't prevent sites from making API calls to other servers - that's on your HTTP server's side, you control that.

Occasionally I get requests to allow HTML hosted on Neocities to make API calls directly to Neocities itself - which would be OK for things like basic stats lookup, but for things like file uploading/deleting/editing this is dangerous, because it would allow attackers to write scripts to hack people's accounts that can be executed by their own browsers. This is called a CSRF attack, and that's why we prevent people from doing that.

Sent an email to your kd dot net account.

Nearly Free Speech (nearlyfreespeech.net aka NFSN). [1] I'd strongly recommend you try it, without purchasing a domain, and see for yourself how far the initial trial takes you (you get a 25 cent credit when you create an account). Even if you decide to try something else, it's worth your time to read NFSN's FAQ [2] to know more about the service and policies. It's quite impressive.


1. Excluding domain costs, which are reasonable (and even cheaper than many others), you can have small static sites for pennies a month, or even pennies a year if you put the free tier of CloudFlare in front of it (with DNS changes). It's really dirt cheap!

2. It's the most honest service I've seen, where you pay close to what you actually use.

3. The owner/admin is a no-nonsense person and is available on the forums to help with things that don't need extensive support involvement.


1. You need to be tech savvy (at least know how to use an FTP client to upload your static files and use the BSD shell if you wish to play around with application setup or other things over ssh). NFSN does not have any fancy control panels (like cPanel) where you can do one click installs of WordPress or other applications.

2. For PHP and MySQL based applications, setup is not difficult at all. But if you want any other application server (like Node or Rails or Django), you would have to do more work to get it set up.

3. If you truly need support, then there's a paid support subscription (it's optional). For most requirements the forums would suffice.

4. If your site grows a lot (in terms of disk space used, network traffic used and resources used), then NFSN could become very expensive compared to the commonly oversold $5 a month or $10 a month services that promise a lot but depend on most users not reaching their promised limits.

[1]: https://www.nearlyfreespeech.net/

[2]: https://www.nearlyfreespeech.net/about/faq

I used to host with them. It's very cheap, but you can't have any expectation of high uptime.

I'm a great self-hosting fan, behind my DSL connection using 2 x RaspberryPI. I have 3 static web sites, 2 with Jekyll, 1 with Hugo, with great perf :

checkout webpagetest -> https://www.webpagetest.org/result/161123_0R_8RDY/

and feel free to check my 3 web sites:

- http://www.it-wars.com - http://www.louer-hendaye.com - http://www.nodejs-news.com

Init : 2 RaspberryPi + electric plugs : 2x 30$ + 2 x6$ Monthly bill: electricity : about nothing DSL : 30$


Can you explain your setup and how you did your self hosted sites?

Simply install any linux distro of your choice (mine is Ubuntu) and fire up apache/nginx to load in your HTML. Then port-forward 80 to your raspberry pi IP address and you are done. If you are on dynamic IP (which most of the residential broadband does), set up dynamic DNS and add a CNAME record in your DNS to point your custom domain to your dynamic domain - this way visitors will be able to access your site even after your IP changes.

I have 2 raspi one with haproxy, one with nginx with 3 vhost. Haproxy was because I've planned to have several raspi to loadbalance traffic across. My DSL line give me 1Mb/sec. When writing a new post a send 10x time to optimize pictures to be able to serve more people. each day I've about 150vu on each web site. One take away: after Jekyll or Hugo finished static page generation I've a bash script to gzip every file to avoid raspbi to make it at the fly, and nginx setup for that is : gzip_static on;

On my DSL router I forward all port:80/tcp traffic to my haproxy raspi.

You have a static IP?

You can use a client to update the record of your dynamic IP. I don't know if that's what he's doing, but it's in all the Pi web hosting tutorials.

The solution you propose is problematic as you'll have random redirection problems even if your script updates your DNS every 15 seconds.

Yes a have a static ip, but DynDns like service providers works too. I use then for years, before my DSL provider gave me one :)

Just to echo... Amazon S3 with CloudFront. No contest. CloudFront has free SSL too. Then AWS Lambda to provide dynamic content via Javascript / API if needed.

If you want to get fancy you can even attach it to your domain root (example.com vs www.example.com) using Route53. Which is impossible with many static hosts. Although that requires a hosted Route53 zone which at $2 might very well be 100x your hosting costs.

I use Jenkins to generate the website itself.

Edit: Only downside is if your traffic spikes you have no control over the cost. There is no upper bounds. With that said, it would take a tremendous amount of traffic to balloon the costs to anything worth worrying about. And at least you can be sure your website will actually stay up.

> Just to echo... Amazon S3 with CloudFront. No contest.

Yeah, until someone decides they don't like you and downloads a few terabytes of data over and over. It costs about average $0.09 per GB from CloudFront out to the world, and add in the costs from S3 to Cloudfront itself.

I had a $200 bill one month due to that, and the next month went with CloudFlare (no usage based billing) and github.

I addressed that partially with.

> Only downside is if your traffic spikes you have no control over the cost. There is no upper bounds. With that said, it would take a tremendous amount of traffic to balloon the costs to anything worth worrying about. And at least you can be sure your website will actually stay up.

However, proper use of cache headers can help with that since Cloudfront respects them and won't hit S3 again if the header isn't expired. So at least that helps.

The scenario you described is my nightmare scenario.

Also, Cloudfront now has a WAF (Web Application Firewall) that can help with this. Although it too has some costs.


Another alternative that is pretty straight forward although non-zero work is to set up a CloudWatch alarm on your monthly bill and when it gets to high make an API call to shut off the cloudfront distribution (cloudwatch can trigger SNS which can trigger Lambda which can make the API call).

It's a PITA but worth it to save hundreds.

If I may ask a simple question which reveals my ignorance about AWS and anything too technical, but what is the actual CMS being used for a website hosted on Amazon? Take a simple website with text and images that you want to update via an easy to use CMS, what is the AWS service that is the CMS seen by a user looking after the website? Does one exist or is it a matter of needing to make such a CMS?

Edit: thanks for the replies. I had a feeling AWS was more a "parts" bin rather than anything approaching a ready-to-go hosting + CMS, but thought I'd check.

The parent question was about static site hosting so one would likely use a static site generator like Jekyll.

If you want a CMS you need to either install it on a server (via Amazon EC2) or use a serverless product like AWS Lambda (which lets you run functions on demand.

But with a static site generator you will usually run and test your site locally before it generates static .html files and pushes to S3. But S3 just hosts static content. The only thing it can do that approaches anything dynamic are redirects. You can also lock down permissions by role but you wouldn't want to do that for a public static site.

There is no single answer - AWS isn't a single hosting service, but instead more of a "parts bin" that you can use to build simple or complex services.

I don't think it's what you're looking for in this case.

Amazon offers basically hardware. You rent a piece of server resourses. What operating system, what CMS you use is up to you, but prepeared to install and configure everything.

But, they also offer plenty of free (and good) "ready made and pre configured" packages for people to use (for exampe wordpress, bitbucket etc.). You can search them here https://aws.amazon.com/marketplace/

> Amazon offers basically hardware.

AWS is way more than hardware.

Lambda - on demand code execution

Route53 - DNS and domain registration

S3 - File storage with redundancy and an HTTP interface

RDS - Managed relational databases

DynamoDB - NoSQL key/value store with indexing and scanning

SQS - Job queue-ing without needing to manage servers

SES - Email service with the ability to both send and receive email and also trigger a Lambda function when email is received

SNS - Fan out notifications with multiple destinations (iOS, Android, Email, SMS, webhook, etc)

IAM KMS - Manage your encryption keys

EC2 - Ok, this one actually is hardware

Git hosting, docker file hosting. Etc...

That is just off the top of my head. However, if you want to avoid vendor lock-in, then yes, it is just hardware.

You are correct. They are also huge ecommerce site and book store.

I understood previous question as "What CMS amazon is offering for clients in website hosting", to where I think my answer still stands.

> They are also huge eCommerce site and book store.

That is a complete miss-categorization. Amazon AWS is a single business unit with EC2 being a single product inside of it. When people say Amazon Web Services it very clearly means more than just EC2.

To compare EC2 to SQS (simple queuing service) and saying they are different is the same as comparing Amazon Book sales to Amazon Clothing Sales. It is a distinction that not many people would make.

Actually in a way it is more like saying that Amazon Selling the Twilight novels is different than Amazon selling college textbooks.

I use the Amazon S3 and Route 53 route and pay $.50 to $1.50 a month. It's dirt cheap for solid, reliable static hosting.

I'm biased, but Neocities (https://neocities.org) can do all of these things and is a great choice for static web hosting. We run a global anycast CDN with instant cache purging, custom domains with Let's Encrypt SSL, high availability architecture, and all the rest. We haven't had a full site hosting outage in years.

We include 10GB storage 2TB BW for free (more of both included soon) for $5/mo, which would cost over $180/mo at AWS with S3. Cloud providers really upcharge on bandwidth big time. Really that 2TB is just a soft cap just to make sure nobody tries to run the New York Times from a $5 hosting plan. Many people go over it and it's not a problem.

The one thing we don't do well is show how good we are for pro hosting as well as people learning HTML and having fun. I need to work on that.

You should give a link to custom domains in the front page, took me a while to find you offer that. Btw are you related to Geocities??

No relation (except for the site I once had on there). Sadly, Geocities is long gone. My attempts to acquire the domain name and relaunch the site (at a bare minimum to restore the old sites to their proper location) have not been successful.

Good idea focusing on that niche. It'd be cool to see geocities live again!

Geocities is owned by Yahoo. Unless Kyle worked there, there is no relation.

Hey Kyle what's the best way to contact you?


I use GitHub pages with Cloudflare (free CDN + HTTPS) for simpler sites but I'm a fan of netlify.com right now. Setup is simple, atomic deploys are simple, rollbacks are simple, caching + cache invalidation + HTTPS is done for you and there's paid plans if you need passwords, form submissions and custom response headers. There's probably cheaper options compared to the paid plan at $9 a month but you have to ask yourself how much your time is worth in comparison if you're burning just 1 hour a month on configuring your hosting.

Deploying over S3 sounds like a bunch of hassle to me. Can you deploy atomically? Can you rollback?

I use a static site generated called 'middleman' for my blog. I tested S3 deployment in the past and I must that it's not all that complicated.

The PITA is that you need Cloudfront to handle SSL and if you're not using Route53 automating the upgrade process is more complex than it should be.

> Can you deploy atomically?

Hm, I'm not sure what atomically means in this context, S3 supports 'sync' so you basically can write a bash/ruby/python script to handle deployment (I use a rake task).

> Can you rollback?

Yes, I use git (gitlab) to keep track of changes, so rolling back is not a problem.

> I use a static site generated called 'middleman' for my blog. I tested S3 deployment in the past and I must that it's not all that complicated.

I'm not saying it's super complicated but if extra features are costing you even a couple of hours of time it's probably worth paying to make the problem go away.

> Hm, I'm not sure what atomically means in this context, S3 supports 'sync' so you basically can write a bash/ruby/python script to handle deployment (I use a rake task).

Atomically means you either update all of the files or none of the files. If you're updating one file at a time there's a chance e.g. a visitor will see a new page but with the old CSS file. What happens with S3 here? Also, how do you deal with cache invalidation?

> Yes, I use git (gitlab) to keep track of changes, so rolling back is not a problem.

I personally prefer if you can rollback to a previously working deploy with a dedicated CLI/web rollback option than having to deploy again if that's what you mean. There's a chance your local setup or deploy script is messed up and it's quicker.

> (I use a rake task).

I've found this little tool to be a huge timesaver for Middleman deployments to S3. Just remember to gitignore your environment variables ;)


This is what I run a few of my sites off of right now, super simple. For other things I use Namecheap (shared) but have been looking into Digital Ocean or Linode.

I use Linode. Better network performance than DO, and cheaper.

This is what I got from a test I ran.

Download: 1880.39 Mbit/s

Upload: 443.29 Mbit/s

I've set up CircleCI to auto deploy to S3 and invalidate Cloudfront cache whenever there's a push to master on a Github repo. Once setup, it just works.

I use AWS S3, which I put behind a Cloudfront distribution. It's quick to set up, and there are no servers to keep up to date and patched. You also get free SSL for your Cloudfront distribution via AWS certificate manager. For stuff like Contact Us forms, I use AWS Lambda to post the data into my company's CMS. We've had this setup for about a year now and it works quite well.

The cost is almost nothing but we don't have a high traffic website. If you started getting billions of hits from expensive Cloudfront regions such as Australia or India, you might consider something else.

A quick note on the S3/Cloudfront option - make sure you enable "Compress Objects Automatically"; it's not enabled by default and wasn't provided for a long time.


You'll save a lot on your bandwidth bill.

You can also set your edge usage to "Use Only US, Canada, and Europe" vs. "Use All Edge Locations" to save money, depending on your performance needs in various geographies.

This is probably a better option than storing compressed data in S3 with a hard-coded Content-Encoding header, as it seems some web clients (like the Facebook app) display the raw gzip data.

It's worth noting that SSL only works between the browser and Cloudfront servers. Last time I checked there wasn't an option to use SSL with s3.

It's not a deal breaker, but it was enough to make me look for alternatives.

If I understand what you're saying, if the origin for your Cloudfront distribution is an S3 bucket, the link between S3 and Cloudfront is unencrypted? That seems unimaginable to me.

If the origin is an S3 static website, the link is unencrypted but should run over Amazon's own network. Since Amazon has your S3 and CloudFront data anyway, assuming all CF endpoints are under Amazon's control, you don't lose much by having the S3 origin load over http.

What makes you think that when cloudfront requests objects internally from s3, it's using http?

It could just as easily be connecting with s2n and authenticating both endpoints of the connection.

This article[1] states the following, though it doesn't cite any specific source:

> CloudFront will use encryption when retrieving data from its storage service S3 (Simple Storage Service), so the content is protected all the way from where it is stored to the user's computer, according to Amazon.

1. http://www.computerworld.com/article/2518747/data-center/use...

It says so in the CloudFront distribution setup, when you point it at an s3-website-[region] URL instead of directly at an S3 bucket.

That's just naive with the information we have today. Google thought this too, and the NSA happily used that to eavesdrop.

Eavesdropping on the connection between CF and S3 doesn't say too much about a public static website, though. If you're serving private data, use an S3 bucket directly instead of the S3 static website hosting HTTP server.

Yup. It's fine for most simple sites that don't receive much traffic due to almost nonexistent costs. But I personally don't recommend it when there are many alternatives out there these days. Partly SSL is no SSL imo.

You can use SSL with S3 as the backend, you just have to set the distribution origin to s3.amazonaws.com/bucket-name/

Does that work with s3 static websites though? I recall that a different endpoint was needed, and it's only http.

The method I described doesn't require you to use a S3 static website. We don't have that option enabled, so the bucket name isn't mysite.com, it's "mysite-html", and the S3 website hosting is not enabled.

CloudFront has its own IAM user that is permitted to access the contents of the bucket, which means that it has to use the API. I don't think it's even possible to access the S3 API without using HTTPS. Therefore I think it is highly unlikely that the connection is unencrypted.

Awesome! I'm new to AWS, and when I tried to setup a static website using cloudfront + s3, I was only aware of the static website option on s3. This is what the docs uses, and it led me to the wrong path it seems! Thanks


Shell Access, pretty much every common language available, service running, databases, mail, etc..

No bullshit hosting in germany, Pay what you want (1€/month minimum).

Absolute best, I'm hosting about 25 projects with them for various bands, etc. and haven't had any problems whatsoever.

Uberspace really also makes for a great email hoster, if you don't need too much space (currently, one uberspace is limited to 10GB) for your emails. You get a proper IMAP server and a roundcube as web client. Works great.

Hosting does not has to be static with them, I run several serendipity instances with them and had no issue. But sure, static file hosting will work very well with them, since Apache is already configured. Creating the uberspace, uploading the files, done.

was about to post the same. not required anymore :D

Don't forget: fast, competent and helpful support!

Can't find english language switch. Only german then?

Only german, yes. They explain on https://wiki.uberspace.de/philosophy:englisch why (in german): it boils down to too much work, not being sure of being able to adequately support in english, having servers only in germany and fearing legal implications of having an english offering.

With google translate and maybe a bit of help from a german speaking friend (and a bank that supports wiring money to a german account without problems) that is probably still manageable, but not ideal.

+1 for uberspace.de

For static sites I used to use surge [0], but now I use Neltify [1] for my site [2], because it offers free SSL on your own domain, and continuous deployment from a GitHub or Gitlab repository. You can set your own build options, for example to build Jekyll.

(I have no affiliation with Netlify I just think their service is neat.)

[0] https://surge.sh/

[1] https://www.netlify.com/

[2] https://gilly.tk

edit: formatting

netlify looks great, and the free tier covers probably 90% of what all SMEs need. I'm curious, where are the sites actually hosted?

Does netlify provide the actual hosting or they allow you to setup deployment to a VPS? Also if netlify does the hosting, how good is their uptime/availability?

I work for Netlify.

We host the sites on our CDN, which has more than a dozen points of presence around the world. You can either let us build your site using anything you can get working on linux (see https://www.netlify.com/blog/2016/10/18/how-our-build-bots-b... for details) or build it yourself and ship the finished product to us. Nothing "runs" on our side after build, so there are no servers/VPS's which you can configure in the equation as far as hosting is concerned. We let you do a few things that you used to do with htaccess files (redirects are free; custom headers including basic auth are a paid feature)

You can check out our list of past incidents on our status page to gauge uptime for yourself: http://netlifystatus.com/

Since we use redundant DNS (NS1 + self-hosted), and use dynamic DNS response based on both location the query comes from cross product which CDN nodes are responding, we can (and occasionally do) remove, rebuild, or add CDN nodes without affecting our overall service. Since we use multiple network providers (for instance we use AWS, but we also use 3 other services), downtime at any one of our providers won't introduce any substantial problems in our network.

+1 for Netlify. Have a dozen or so production sites there currently and am a happy customer.

I wanted to migrate to Netlify (I'm currently very happy with Gitlab pages), but I don't want to have to install all of node just to use their utility. What's wrong with static binaries, or at least Python?

I work for Netlify.

You don't have to use any of our clients to deploy a site; they're just options in case you'd rather build the site yourself than have us build it. I rarely use the clients (we have one in go in addition to the Node.js version: https://github.com/netlify/netlify-go and further our API is scriptable in any language and fully documented here: https://open-api.netlify.com/)

You can (and we do this for you by default) configure GitHub, GitLab, or Bitbucket to trigger a build whenever you do something at the repo. The default, free behavior builds on pushes or PR's against your selected branch and if it's a PR, shows you a deploy preview rather than publishing at your main URL: https://www.netlify.com/blog/2016/07/20/introducing-deploy-p...).

Finally you can drag and drop a zipfile with your site's built contents, if you are in a hurry or less technically inclined.

So, you don't need Node to use us and I don't think most of our customers do use that client; most build direct from their repositories.

Thank you, I'm one of those impossible customers who goes "oh I want a free tier, and oh, I don't like node, and oh, I don't want to give you access to my Gitlab", but it's great that you have a Go version of the client. I think I'm going to switch everything to you, I've been wanting to for a while!

awesome to hear! I'm the guy you'll talk to if you have a support question, so I hope to not hear from you soon (since that would mean that everything worked as expected :))

I'm sorry you had to hear from me, but I recant! Netlify is, indeed, fantastic. It took five minutes to move my site over, and fifteen minutes to waste Chris' time with questions.

I'm amazed at how fast the site is now: https://portfolio.stavros.io/

oops, I linked our Go library not our go client. You'll want https://github.com/netlify/netlifyctl for the client!

Github Pages + cloudflare + travis

why: free, cdn, version-controlled, continuous integration, https, custom domains.

+1 for Github Pages + Cloudflare

Wish there was a poll option on HN. How are you going to count OP? Will you share the results?

https://news.ycombinator.com/newpoll - I've never seen one in the wild, though. Maybe too few people know about it?

I use a cheap $5/mo Digital Ocean droplet with nginx, Nikola [0], and letsencrypt for ssl. Works great and I can expand easily if I want to add php or other wsgi apps.

[0] https://getnikola.com

I did this for a while and ended up expanding out to setting up my own email server, calendar server, and contact server. Needless to say, I'm a happy customer. :-)

Setting up your own email server? You're a much braver person than I.

Similarly, I set up two OVH Public Cloud 2GB instances $3.49 (4.49 CAD) with CloudFlare in front. Having two lets me set up master-master MySQL for Ghost and other play projects.

Your paying in CAD so assuming your in canada how do you find OVH, is there any north American severs? If not how is connection time to the website and general experiences with it? Cheers.

I haven't been using their 'Public Cloud' VMs very long so don't really have a strong opinion, so far it's seemed about as quick or sometimes quicker than DO. Too soon to speak for reliability. In the past, I've used their bare metal hosting which is very inexpensive (ranging from $90/mo - $1000 for 32G - 512GB), but you have to know what you're getting. Check the h/w they give you and if you find any issues with it, they'll replace it, but only if you notice and request it. The servers I've used were in Montreal. Thought I'd heard that they were planning on a datacentre in US East.

I have a PC in my basement on a nice 150meg fiber connection. I have a dynamic DNS service and client set up, and ports forwarded. At this point, I can do whatever the hell I want (static or dynamic), as long as I don't transfer like 10TB a month.

I have Payara (java app server) running my blog down there, and HTTPS courtesy of Let's Encrypt. I looked into running a Open Street Maps server, but it was fairly hard (I might have been close to getting it running), and professional reasons for maybe playing around with it changed.

I wish more geographies had 150 megabit (or even better) symmetric residential service. I will never understand how residential service became asymmetric by default. At my address, the best upload speed I can get is ~5 Mbps, which is utterly embarrassing considering my first DSL connection, in 1999 or thereabouts, was ~1.5 Mbps symmetric. In 17 years, I have only approximately tripled my upload speed. (Frankly, even the download speed doesn't seem commensurate with 17 years of technological advance; such is the tragedy of popular "good enough" syndrome.)

In my opinion, asymmetric residential service is in large part responsible for the centralization of the Internet. I would have much liked the alternate history where residential service continued from 1999 onward supporting and embracing the notions of self-hosting and peer-to-peer communication. The resulting decentralized, federated Internet while no utopia in its own right, would be so much more appealing to my sensibilities.

Putting that wishful thinking aside, your setup sounds nice. Since I can't get that kind of bandwidth to my house, I had to lease a dedicated server at a data center.


I'm on Verizon FIOS, and it is symmetrical, roughly. It speed tests about 158 down 162 up. How I got that fast was sorta an accident from moving, and rep handling it looked at the deals. I think it was maybe $10 more than the 50meg service I had before.

I see Google Fiber over there, but what I have is nice too, and deployed wider. I also see Comcast's "gigabit" service with it's paltry 35meg upload.

Wordpress.com or Blogger.com

Fully operational, all the important stuff (text editors, analytics, pictures hosting...), nice themes, well indexed by google, zero maintenance, free, and unlimited traffic.

I run blogs so obviously it is particularly appropriate. But that works as well for small static sites with a couple pages.

Zero maintenance on WordPress? What do you do? I have several updates all the time + themes and plugins.

I do like WordPress though

Hosted by wordpress.com of course.

Self hosting wordpress is a nightmare. I wouldn't wish that to my worst enemy.

Why do you say "self hosting wordpress is a nightmare" ? I've been doing that for 12 years and have had no worries at all. Admittedly it's only a very low trafficked site, but still, curious.

I set up one of the orgs I work with on WPEngine, pretty good. Almost no intervention on my part and only $25 a month which is not bad considering the scale of there subscription business.

Wordpress.com hosted wordpress?

as a few people have mentioned, NearlyFreeSpeech.net is my static host of choice. i use them for static blogs (jekyll built) and they work perfectly. non static sites get charged at 1c per day (and you get a MySQL instance for about 1c a day, give or take), and static has no charge per day. you are billed for bandwidth and storage, and can have multiple sites in one account. SSH/SFTP access available also.

I generally use nearlyfreespeech.net

I added about 5 gbp two years ago and it's down to about 4 gbp. It's cheap as hell and I only have to dump 5 pounds on there every few years or so.

Of all services mentioned here, this is the one I like the most and the one I think I'll use.

Their pay as you go makes totally sense when you have a static website that will be access sporadically and you don't want to rely in a public infrastructure such as Github.

I also don't want to depend on freemium services, because they could just shut down the free tier any time.

I use Google AppEngine with Python SDK. Whilst it is intended for web apps (and I use it for that too) it works well serving up static content alone. Very easy to add interactivity as and when the need arises. Also has access to Google Cloud services.

I like that I can check my changes on my notebook before uploading to the cloud.

NearlyFreeSpeech - fantastic business, incredibly cheap. My domain costs are more than my hosting costs (I pay roughly $2.50 a month for hosting a forum).

I switched from NearlyFreeSpeech to Amazon's S3 and Cloudfront.

The main reason I left is that I wanted to use HTTPS, but I didn't want to have to purchase a certificate when there are many good free options available now. NearlyFreeSpeech requires opening a ticket with customer support to update certificates, so using Lets Encrypt isn't really an option there. Amazon offers free certificates for Cloudfront.

In addition to gaining HTTPS support for free, my hosting costs went from a couple bucks a month to less than 50 cents a month.

Not sure when you switched, but NearlyFreeSpeech works fine with Lets Encrypt and doesn't require opening a ticket with support. https://deletethis.net/dave/2016-11/Let%27s+Encrypt+NearlyFr...

Nice! Looks like the process was changed after I switched. Still, since they don't support cron to use Lets Encrypt I'd have to remember to do that every 90 days.

I'm on NearlyFreeSpeech now for a small MediaWiki installation I didn't want to have on my other server, but it's terribly expensive. They charge me $6/mo for a small installation when I can get a whole droplet in DO for that kind of money.

Yeah, love NearlyFreeSpeech. I think I put in like $20 bucks and it covers me for over half the year. A few single page static sites to host some portfolios.

RamNode: 128MB RAM 15GB storage, $15/year. Cheapest I have found yet for a tiny VPS.

Perfect for static pages, but a little bit of PHP might be fine.

Seconded. In 18 months my RamNode VPS has had one unexpected reboot, but other than that it has been flawless.

RamNode is awesome! I've been a customer for years. They often have promo codes on LowEndBox.

i do the same. put their affiliate links on my blog and the commission is more than enough for run the site for the next few years now.

I think I'd go with DigitalOcean $5/mo, nginx, a static site generator (there's so many), and LetsEncrypt (for SSL).

I'm with you on this one. Given the choice between configuring nginx and navigating AWS/Wordpress' arcane configuration GUIs, I'll go with nginx every day.

Gitlab pages (https://pages.gitlab.io/) is free, and has some advantages over Github pages:

- Not restricted to jekyll, use any static generator

- Supports https on custom domains

I'm still using Dreamweaver 8 and pushing the site to a server as static files.

Unfortunately, Dreamweaver 8's static SFTP doesn't work any more, due to some Microsoft-forced change in Windows 7.

Just to save everyone interested a couple of clicks, here's the result: http://animats.com/

$work has a hosting customer that used an old version of Dreamweaver that suddenly stopped working one day. The root cause was an OpenSSH upgrade that dropped support for some key exchange algorithm that Dreamweaver used, if memory serves. Probably not your issue but may be something to look into.

Upvoted for nostalgia.

It beats trying to write HTML via Markdown.

I'm that close to install Win2K and Dreamweaver 4...

I'm very happy with the service at https://www.scaleway.com

Their pricing looks insane? Like an order of magnitude less than DO, OVH, ...

Edit: Looks like it's because they're using Atom and ARM based servers.

What's that mean for the common folk? Are they slower?

Yes. Slow CPUs.

The Atom servers appear to be Avoton Atoms[1], probably a C2550 or similar. While they aren't as high end as a typical Xeon, they aren't as terrible as the older Atom cpu. See this chart: https://www.servethehome.com/wp-content/uploads/2014/01/Inte...


I use linuxpl.com (https://linuxpl.com/Hosting-Serwery-wirtualne) which is ~ 12 usd / year (so just $1/ month). Comes with 2 GB of space and 50 gb bandwidth per month.

SSH access, shared hosting (so pretty powerful CPU/ram there). Currently i have about 700 daily unique visitors and growing. Used to deploy custom sites, now i use mostly wordpress. Also, i use it for my git remote repos.

Great service. Been using if for years, awesome quality for the money.

Lately had some issues but the support is helpful and they fixed whatever i wanted, enabling SSI, fixing response headers, etc. Never had to wait for a reply longer than 6 hours (usually it's just minutes, really). As a bonus, admin staff is available through odlschool IM app - Gadu-Gadu. And PHP 7 is available and easy to switch to.

The site's in polish, which sucks for you guys, but it's by far the cheapest and best solution i have for low cost hosting. I'm a happy customer.

I use Nginx either on my basement server (I have 50/50 fiber internet at home) or I use one of my digital ocean droplets, which can be as cheap as 5$ a month, that is less than my server at home uses in power. A Raspberry pi would also suffice if there is not too much traffic I guess, that would cost you about 10€ a year in power. Running a whole server means there is no limit to the amount of sites you can run (apart from memory and bandwidth of course.)

Both my servers (DO vps and basement) run Ubuntu 16.04, I use PHP-fpm for PHP, domains I purchase at a local registrar (.nl domains are about 10€/year), for ssl I use lets encrypt. For simple sites I always use Bootstrap for the css.

FTP is implicit if you count SFTP as FTP (FTP over SSH). Under Linux SFTP is mounted as easily as any network share.

At home I run a Nextcloud instance and share some directories as Nginx roots, that means I can locally (even on my phone) edit a static web page and it is synced immediately to the webserver's root folder. This can be quite convenient.


I manage all my sites there. Never had any issues with them, there is SSH access too so I recently set up a Hugo bitbucket pipeline which builds my personal website and rysncs it to dreamhost.

They were very fast to add lets encrypt support, so all that stuff is taken care automagically. Reliability is very good.

www.nearlyfreespeech.net is cheap (really cheap, hence the name) and reliable - they've been around since 2002, and I've used them since 2008.

IIRC I think the name is because they allow a lot of content that other hosts may shy away from.

It's both: "For everyone to have free speech, they need to be able to afford it."

For static sites I use firebase hosting, quite simple to use and it includes a free SSL certificate https://firebase.google.com/docs/hosting/

I'd appreciate if someone could jump in about the costs of a high traffic website firebase hosting, as I don't have much experience with other hosting platforms.

I host my static stuff (with my own domains) at FastMail, it's included in my "standard" plan. Upload is possible via FTP and DAV, the quota is currently 5GB disk space, 2GB or 80K files daily traffic.

I knew I had some free space with my Fastmail account but didn't realise how much - or that I could use my own domains. That's pretty cool.

StockDroids.com is hosted on S3 and served using Cloudfront. It's pretty easy to get going if you don't mind getting a little technical.

Not sure how price compares to the competition, though. HN's + /r/Android's front pages resulted in about 13K uniques and it ended up costing me ~$10 (which is insanely cheap, but GitHub + Cloudfront is free...)

Edit: I should mention that the site isn't as light it can be, currently stands at 473kb of code and about 3 megs of images. So that $10 is for ~45 gigs of traffic.

If you want PHP and FTP, I've been successfully using webfaction <https://www.webfaction.com/> for years now (they're a developer-friendly shared host). $10/month. Their setup is a little weird to figure out at first (they add an extra layer of indirection between domain names and applications), but once you get it it makes it very easy to set up new sites.

Github Pages with CNAME file, CircleCI, Cloudflare. Free, CDN, and SSL hosted if it's all open source.

No how-to, but it's all open source here https://github.com/barricadeio/docs

Most awkward part was figuring out the voodoo required to get Hugo and Middleman working (lots of trial and error).

I use an S3 bucket. I have a Docker image that pulls Markdown out of git, runs Hugo over it and pushes the site to an S3 bucket. I set it up to work with Bitbucket pipelines so I get a site rebuild with a simple git push: https://github.com/rabidgremlin/hugo-s3

Ditto. Can't beat the price + availability and flexibility of S3.

I've been using Jekyll + Gitlab + S3 + Cloudfront (+ lambda).

This costs me just over 50 cents a month, almost all of which is the Route53/DNS costs.

  - Gitlab stores the source and GitlabCI builds the site.
  - Lambda triggers the build on a schedule.
  - GitlabCI pushes the site to S3 (using Gitlab ENV VARS!).
  - CloudFront as the CDN, also provides free SSL.

I've been a happy customer of Register4Less.com for years, and they throw in free static hosting with every domain name. It does everything you mention except PHP and Markdown. (But you could do Markdown yourself with a static site generator!) They also provide free WHOIS privacy, which is nice.

An extra $1.45/month gets you PHP and CGI hosting, plus raised quotas.

My only caveats: The free hosting tier only gets you 10MB of space per domain (no bandwidth quotas, though!) Which has been plenty for me for everything except large photo galleries, but YMMV. Also, I've had terrible experience with their domain backordering service--the domain I backordered was quietly released and became publicly available without a peep from R4L.

Their actual domain hosting, website hosting, and technical support has been stellar, though. (Websites are actually hosted on a shared server somewhere at OVH, if Ican trust the reverse DNS info.)

If you're into retro-computing and unix, there's also http://www.sdf.org and http://tilde.club (but, as I understand, their membeship waiting list is endless at this point).


super simple, super cheap, never had a real problem.

I prefer full control. I have a 10$ a month Digitalocean VPS with Nginx, PHP and whatever I want.

You can use App Engine (https://cloud.google.com/appengine/) to host a static site for free. It's easier to set up than S3, which I've also used.

Github Pages does pretty much everything you've listed. Also Github Pages explicity allows companies to setup and host their corporate websites on there.

PROS: It is free, always available, and the deploy is easy once you get the hang of git.

One big inconvenient is that they don't support HTTPS for custom domains

Which you can solve with cloudflare for free.

For some cheap VPS you can try searching on https://lowendbox.com/ some are like $2/month (usually a year commitment)

Downside of this is that you then have to administer and secure a VPS.

that's true. they list some shared hosting providers though which cost $1.50/month and they manage the security etc

Which is not as much of an issue for a static site.

How about github.io. Github pages allows us to host our custom domains too

I am on scaleway bare metal at 3.6€ per month. I use no-ip.com for the free domain name. I have a docker image to update a jekyll static site that I publish over ssh with rsync. I use fgallery for the pictures collections. For me, it is the easiest solution because I am familiar with the OS and it uses only standard tools that will never change and no fancy and broken website interface.

It is cheap enough to not bother with the limitations of most low-cost static site hosting.

Another vote for AWS S3 + CloudFront here.

We also have a distributed team updating and looking after our website, and we use BitBucket as our git repo. Recently implemented their Pipelines feature to auto update the S3 bucket and refresh CloudFront resources with any changes pushed to the repo.

Makes it really easy now - just a 'git push' and Bam!, the website is updated and CloudFront auto invalidates all the old assets and starts serving up the new stuff. Really smooth.

Github pages + Jekyll + Wercker for custom builds

Pros: free, convinient (a push ends up as a new post upon a successful build)

Cons: no SSL with custom domain on Github (at least not easily)

With Netlify, you get all those things with custom SSL. In fact, you don't even need your own cert as Netlify interfaces with Let's Encrypt on its own to provide a custom certificate.

It also lets you interface with Gitlabs (which has its own Github pages competitor) which provides you with free private repos. I think it's a much superior setup than Github.

Are there instructions about hooking up Netlify with GL pages? I'm currently using Cloudflare w/ my Github pages blog, but it was a bit tricky to set up and I'm considering redoing my blog anyways.

It's stupidly easy I wondered why it wasn't any more popular...

Recently migrated my Hugo generated blog to Netlify and so far so good.

Deployment from git, Hugo build on server, free HTTPS with Lets Encrypt and free for my basic usage.

I use github to host the source code for my static Jekyll site, but since github doesn't support HTTPS on custom domains, I use Netlify as a CDN. Netlify automatically hooks me up with an A+ rated Let's Encrypt cert setup.

So my domain points at Netlify, which pulls the site from github.

The total cost of this setup is only the yearly cost of the domain, which you can eliminate too if you use a sub-domain on netlify.

Does the free Netlify plan provide a cert?

It sets it up through Let's Encrypt with one click.

I use orgmode publish to html and then a simple script to upload/sync to s3[1]. Hosted there + cloudflare for CDN/HTTPS. I was hosting the site myself on a linode, but I like this setup much better.

[1]: https://www.rolando.cl/201607-1-blogging-like-its-2016.html

I have the cheapest VPS from Linode, which is $12.50 a month including an extra $2.5/mo for their automatic backup service. (So, $10 if you don't want them to do the backup for you)

I wrote my own little script that converts markdown to html with python and push that to the server with git, but of course with a VPS you can run pretty much anything you want.

Long time user of https://idleserv.net

surge.sh - i can get a website up in 10 seconds with a normal folder structure from my machine. i love it.

middleman -> s3 -> cloudfront. About $0.15/mo.

Pros: Generally works well, speedy enough, free ssl with Cloudfront, cheap for many sites (most hosts charge per site which catches me out for little projects). I've mostly got the process figured out now...

Cons: not easy or quick to set up, lots of steps to get right, AWS is a terrible UI, Cloudfront invalidations are apparently sent by carrier pigeon so asset hashing is a must, even then it can take a while to see your site updates

I've noticed a high mortality rate among static hosting sites, particularly those "just add files to Dropbox and we publish your site" services. Static hosting services are to ops people what todo list apps are to frontend designers

Also, to your point: you can't, by definition, run php on a static site.

> Cons: not easy or quick to set up, lots of steps to get right, AWS is a terrible UI, Cloudfront invalidations are apparently sent by carrier pigeon so asset hashing is a must, even then it can take a while to see your site updates

Check out the s3_website Docker container by attensee. We have it in our BitBucket pipeline, so that any push to the hosted repo will automatically copy the latest updates to our S3 bucket AND invalidate the respective assets quite quickly.

Any website refresh our developer in the US does now is usually available to look at within a minute here in Australia.

I currently have one website that's built with Jekyll and I host it for free on Github Pages. The only thing I'm paying for is the custom domain name from Namecheap. Also I set up HTTPS with Cloudflare in front of it.

I prefer this method over managing a server any day.

I run a cheap OVH VPS for hosting. I can host any number of websites I want and it costs less than any static hosting service.

Also, Github Pages and Gitlab Pages are great and free. You can't beat free if it's reliable and both of those two are reliable.

I host some odd static sites with my fast mail family account. Has webdav file access and a dns control panel. Since I am buying the email service anyway it's free :-) Lets you set up different hosts serving from different folders.

Firebase ;) Great static hosting, HTTP/2, CDN, custom domains, and free SSL. https://firebase.google.com/docs/hosting

I've used www.openshift.com to host a django website for free, since 2014!

for non-developers, I advocate the use of google sites, which is basically a google managed wiki. very good for intranet sites, and passable for client documentation portals.

aws: s3/cloudfront.

https://www.simplybuilt.com works pretty well. Completely free for OSS projects, which is nice.

I use surge.sh, pretty easy and comfortable to use.

surge.sh + cloudflare

Free static hosting with custom domain support

I'm also a big fan of this combo!

I wouldn't consider WordPress (and most other blog systems) static? But for real static hosting I preferre AWS S3.

I like Zeit now, aerobatic.com and surge.sh

I have been trying to find the perfect static site hosting solution - although a little bit engaging AWS offers the best flexibility and cost (if you use the free tier). Anyway I created a course on how to do it all: https://www.udemy.com/go-landing-pages/?couponCode=BLACK10

Anyway good luck.

Octopress + Github Pages + CloudFlare = Free, Stable that can handle a good amount of traffic.

Hugo + AWS S3 + Cloudflare

OVH just does the job for me since years, cheap and reliable.

Middleman + AWS S3 + s3_sync module. Dead simple!

Google Firebase, Google App Engine, GitHub Pages

hugo or jekyll static sites. tons of themes...really cool blogs. no setup. use github with a custom domain

Dropbox public folder is pretty useful.

Dropbox no longer supports HTML rendering/hosting for their free users.

Dropbox Pro and Business users have a grace period till September 1, 2017.


i use ramnode. my setup is rather simple with git push and git hook to build along with cloudflare

AWS S3 with custom domain

GitHub Pages or Firebase.

github.io, using it to power the yosai project and my own blog

Namecheap hosting



github, we are developer.

Look for deals on LowEndBox, there are some amazing ones.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact