Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Cheapest/easiest way to host a static site?
451 points by offtop5 on March 26, 2021 | hide | past | favorite | 487 comments
This is more of a thought experiment, I know a multitude of ways to do this which require loads of setup, jumping through AWS hoops, etc. I'd like ideally way to deploy to a hosted service with a single command. Imagine Heroku but even easier.



I've tried Github pages, Netlify, and Cloudflare Pages. Moved last night to the latter.

Github pages is fine, but the extra gh-pages branch is kind of annoying. It's fairly clear (for obvious reasons) that they mainly think about Jekyll users, though I had a Hugo blog there for a while.

Netlify sounds great, but in practice I ran into an annoying issue that I couldn't resolve where I had to rerun every automatic build. This probably isn't really their fault but the forums didn't work.

Cloudflare Pages kind of just worked out of the box, and since I was already using it for my DNS, changing where the domain pointed took a few seconds.

I'd suspect, if you corrected for how many issues were particular to me, I'd say Cloudflare Pages ~ Netlify > Github Pages. I'm kind of surprised the latter charges you for custom domains; I do have to say there's more documentation for Github than any of the others.


Basically everything you wrote about GitHub Pages is wrong.

GitHub Pages is static hosting. If you don’t need Jekyll, don’t use it. There’s nothing special about it.

GitHub Pages does NOT charge for custom domains.

You can configure any branch for GitHub Pages, or even just the /docs folder on the main branch.


Just as a clarification, much of what you mention has only changed in the last year or so. For a very long time gh-pages branch and Jekyll were assumed (you couldn't even use plugins with Jekyll). Custom domains weren't free. SSL wasn't free. Github is doing great stuff but it has taken time to evolve into the all free all you can eat buffet you see today.


I have to agree with parent. I've had a custom domain without Jekyll on GitHub pages for well over 5 years now, and it's been free the entire time.


Same here. Not sure where they’re getting that from. Possibly region specific?


I replied upthread, but I made a mistake reading https://docs.github.com/en/github/working-with-github-pages/... when revisiting what I remembered, and I was just looking at it from the perspective of private repos. My bad!


Oh right, good point. The repo had to be public until very recently.


Get your facts straight, they have had custom domains for a looong time & there was absolutely no need for Jekyll either at any point to host a page, it just happened to be one the most documented/blogged about way to use GitHub pages with automatic builds instead of having static content.


Free SSL for custom domains happened a few years ago: https://github.blog/2018-05-01-github-pages-custom-domains-h...


That's almost 3 years ago, thread OP said an year or so


Much more than a year, maybe 2-3 years.


I think we've both said correct things, but I think you've missed my meaning: yes, I understand that Github Pages is static hosting, I was point out that by default the build system uses Jekyll. This is nonobvious.

This is in the docs: "GitHub Pages will use Jekyll to build your site by default. If you want to use a static site generator other than Jekyll, disable the Jekyll build process by creating an empty file called .nojekyll in the root of your publishing source, then follow your static site generator's instructions to build your site locally." (https://docs.github.com/en/github/working-with-github-pages/...). Netlify and CF will both run some other static site generators (e.g. Hugo in my case) for you, while Github Pages will run Jekyll (or you can build locally).

And yes, custom domains are free for public repos. I made a mistake reading the page about custom domains, which mentioned that private repos need a Github Pro account. You're also right about configuring any branch.


I don't use Jekyll and I have never set up a .nojekyll file. I don't know what that is meant to do, but you can deploy whatever you want and it will work just fine.

Maybe you need that file on the rare offchance that you're deploying a site that contains something that looks like a Jekyll config, but you don't want it to be built that way.


Yes, that's exactly the issue. I don't remember the exact file name, maybe it was a directory named "static". The behavior was not as expected, and only a Google search helped me figure out why files were disappearing.


I should warn that bike shedding about this distinction is absolutely not worth your time if you’re reading this and have less than like 100 blog posts written or are running a business on these sites (in which case I think you should pick Netlify). Go write something.


And also, who cares it's a static host and you can change to another one in an afternoon. There's zero lock-in when you're only rsyncing some files around. Just make sure you have total control over your DNS (buy a domain, put it on a good DNS host) and you really can't screw things up too badly.


Who would you consider good DNS hosts? I'm looking at setting up a static site and am new to the whole process


CloudFlare can be used for dns registration and management as well as ddos protection, ssl cert issuance, origin hiding, static hosting, edge computing, and more, all in the free tier. If you use something like namecheap, you may find the dns resolvers aren’t super great - eg. Changing a record may take 30 mins to propagate because they use higher TTLs by default, whereas CloudFlare’s anycast dns network usually propagates a DNS change where its testable on any network within 60 seconds. The downside of using CloudFlare for both your registrar and operationally is if they ever have an outage at the registrar tier you won’t be able to route to new nameservers. If you’re worried about that you can buy your domain through someone else but point at CloudFlare’s nameservers.


Gandi.net is my favorite - their motto is "No BS" and I've found that to be true.


Used to be a happy Gandi customer but disagree. They ditched their no BS slogan, lost TBs of customer data and made inappropriate remarks about that on social media https://techmonitor.ai/techonology/cloud/gandi-outage-hardwa..., and the upgrade to a new customer portal has been nothing but messy and painful. Happy to no longer be a customer now


I've used Gandi.net for the past 18 years and can agree


Another happy Gandi.net user here. Although some domains I point to cloudflare nameservers if I need some of their features.


I've been super happy with Namecheap, but I only use them for the most basic stuff like A records, CNAME, etc. They don't have an easy to use API (IIRC you have jump through a lot of hoops and whitelist your IP to get access) which is both a good and bad thing.

It's good security because APIs are just another way to gain access to your stuff, and an attacker controlling your DNS has _incredible_ access to ruin your life (steal email, impersonate you... the works).

It's bad though because increasingly we're automating certificates and other stuff through means of using DNS as proof (i.e. set a magic TXT record and lets encrypt will grant you a wildcard SSL cert for free) and many scripts need a DNS provider with good API.

So long way of saying for basic stuff where it's just you going into a dashboard and clicking around to change settings--Namecheap is great. Their DNS comes free with purchase of a domain for a couple bucks, you really can't beat that price.

If you need programmatic API access step up to someone who is running DNS as a core part of their business IMHO--Amazon Route 53, Cloudflare, etc. The bigger the better as they'll have more security resources, support good security practices like 2FA, hardware auth devices, etc. and just generally have more care taken with access to DNS. You'll pay more but you'll get more in the long run.


Now you have something to write about.


Yup, it's almost a joke at this point, that the first post on a technical blog is usually about how they build their static blog.


I actually just went the other way. I found CF is a bit too aggressive with anti-DDOS measures, and the page would not work sometimes in Safari with default settings.

The default setup for GH Pages is not great. Jekyll is very dated. But if you use GH Actions, you can build yourself a pretty great setup. My site is open source at https://github.com/jacobp100/jacob-does-code - there's also a blog post about how the build system works.


> I found CF is a bit too aggressive with anti-DDOS measures

As someone who does a lot of browsing with unpopular web browsers, Cloudflare is basically a way to ensure that it is a coin toss as to whether or not I will see your site; it is not the worst CDN/DoS protection racket service out there though. I would like to see how much legitimate traffic Cloudflare or the others block, and how much website operators are spending on that "service."


This is something that is configurable though. If you leave your Firewall security mode to default, then yes it will block IPs with bad rep.

If I don't care about anti-ddos, I just set the Firewall security to Low, and create a Firewall rule to allow everything from 0.0.0.0/0, simple as that.


Good to know that about Cloudflare. Believe it or not, there is at least one DoS protection provider/Web Application Firewall service/whatever you want to call it, that seems to default to asking you to solve captchas to view web pages.


Is there a good alternative, particularly one that does not impose their own moderation/censorship regime? After Cloudflare decided to abandon content neutrality (https://reclaimthenet.org/cloudflare-suspends-8chan/) I really don’t want anything to do with them.

Or are there reasonable software or hardware options to protect one’s own servers directly without relying on a third party service?


Usually when I need static site hosting, I don't want to build myself a great setup - I want to click a few buttons and have a great setup.

Third party free hosting excels at the ability to do a start to finish page in inside an hour. I want to spend 55 minutes of that hour writing the text, not fiddling with oddities of how to make GitHub actions show me the parse errors of my markdown...


Safari + IPv6 = find out a lot about crosswalks and stoplights.


I had cloudflare set up on a mediawiki site until last year when for some reason I disabled it and discovered that a lot of issues I'd had accessing the site in Safari went away (like it not letting me login except in private browsing).


I use both pages.dev and netlify.com: pages.dev, even in open beta, is a fantastic product if it suits all your needs, but the limitations [0], if you hit them, are a dead-end and there are no ETAs as to when some of those limitations would be addressed.

That is not the case with netlify.com which boasts a myriad of features, is equally as fast, production-ready, and competitively priced.

With pages.dev, I believe, you pay per every domain you host, whilst with netlify.com, there's no cap on number of domains per account, though they do charge for bandwidth (unlike pages.dev).

Workers Sites [1] is a viable alternative and I quite prefer it over pages.dev.

[0] https://developers.cloudflare.com/pages/platform/limits

[1] https://developers.cloudflare.com/workers/platform/sites


> With pages.dev, I believe, you pay per every domain you host

nope, we do unlimited sites on pages! here's the free plan [1]:

> 1 build at a time

> 500 builds per month

> Unlimited sites

> Unlimited requests

> Unlimited bandwidth

you can upgrade to the pro ($20/mo) or business ($200/mo) plans for more concurrent builds and builds per month. still not priced per domain or site!

[1]: https://pages.cloudflare.com/#pricing


Thanks.

> ...still not priced per domain or site!

It was my understanding that I had to upgrade each domain to "pro" with $20/month (say, if I wanted pro features like web-analytics on each). Is that not the case?

On netlify.com, "pro" is $19/month per account (not per domain).


Hey, do you plan to support Gitlab repos? I'd love to use pages but I can't because my repos are on Gitlab.


hi there! cloudflare pages pm here :) we certainly plan to (nothing against gitlab!!), likely in the next couple months. my email is rita at cloudflare. happy to keep you posted


How do you know that Netlify is production ready? I found Netlify Identity to not be production ready* and now I'm not so sure about the rest of the platform.

* Three reasons. 1) The identity widget has people setting it up in such a way that tokens aren't refreshed and logins last only an hour. https://github.com/netlify/netlify-identity-widget/issues/11... 2) Netlify Identity keeps bumping me out despite having gone out of my way to get it configured properly. I don't know why but the issue has lasted for weeks. 3) In development mode, the token can't be verified without making a request to Netlify Functions, and the suggested path (in Redwood.js at least) is to just parse the JWT without verifying it.


> How do you know that Netlify is production ready?

I meant in a way that pages.dev is in "open beta" and netlify.com don't market themselves as such.

Besides, in my personal experience, I never hit any issue with netlify that didn't have a solution.


There is a strong chance that when Pages comes out of beta, Worker Sites is going to be transitioned into Pages, at least thats kind of how I feel about some of the verbiage on this page:

https://developers.cloudflare.com/pages/migrations/migrating...


hey, kristian from the workers team here - i wrote these docs, so this is good feedback :)

we don't have any plans to get rid of workers sites! but we do think that for most people deploying static sites, pages is a better fit than workers sites.

when we do talk about the future of pages versus workers sites, we're generally talking about making it easier to deploy serverless functions /with/ your pages sites - providing better tooling and DX around that is a super high priority for us.

the interplay between workers serverless functions and static asset serving via workers sites is still a really strong use case (and IMO a thing that workers is uniquely capable of doing) that we don't have any plans to shelf. again, i wrote the docs here so this is on me if it came across as "we're getting rid of workers sites" - i'll take a shot at improving these docs and helping clarify that next week!


> […] Github Pages. I'm kind of surprised the latter charges you for custom domains

What do you mean by that? I've been (and still am) hosting quite a few pages with their service using custom domains and have never been charged for that.


One pretty huge downside for GitHub Pages, is that they still don't seem to serve content to IPv6 addresses.

Saying that because I tried it out again a few weeks ago for a friend's website (https://neasair.org), and nope... it doesn't provide AAAA DNS records (IPv6), just A (IPv4).

So, had to put the website on some other infrastructure already hanging around, that does do AAAA records.


I used to host my site on GitHub but switched to Gitlab pages which doesn't require a special branch or extra finesse. I love it, it's really easy for me to add new posts.

Gitlab pages has an option to look at the /build folder for web pages to serve up. So as long as that folder is in the .gitignore, my Gitlab ci just runs `hugo` to build the site which then gets served up.


gitlab pages is better imo. You can use the CI to run any code you want to build the static files.


Also, GitLab allows business websites in GitLab pages in free tier, as opposed to Netlify and Github.

"With GitLab Pages, you can publish static websites directly from a repository in GitLab. Use for any personal or business website."


GitHub allows business websites, AFAIK. Where did you get the notion, that it does not?


https://docs.github.com/en/github/working-with-github-pages/...

"GitHub Pages is not intended for or allowed to be used as a free web hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions or providing commercial software as a service (SaaS)."

Now one could read that as "don't build a SaaS on top of GitHub Pages", but you could also read that as "don't have business websites on GitHub Pages".


That wording specifically disallows both commercial sites and SaaS, so it should be read as both "don't build a SaaS on top of GitHub Pages" and "don't have business websites on GitHub Pages"


Notably, it's easy to make a review site that integrates with a merge request so you can see it before deploying and get visual reviews any time you have multiple stakeholders. https://docs.gitlab.com/ee/ci/review_apps/


> You can use the CI to run any code you want to build the static files.

That is Netlify and Cloudflare Pages' defining feature, and GitHub has had that for a few years now.


> Github pages is fine, but the extra gh-pages branch is kind of annoying.

You can configure github projects to source from a different branch (including your main/master branch if you check in build artifacts directly)


Haven't tried Netlify or Cloudfare pages, but I use GH pages for my personal blog (running Jekyll) and I've never seen any reason to switch. You need to know how to use Git and Github, but since you're reading HN you probably know these things. It's really convenient to be able to just push to GH and have it auto-deploy - and it's free.

Granted, my blog is an insignifcant site with a tiny readership and I rarely update it, so if you need something more heavy duty than I have no idea if GH pages is up to the task.


Get your facts straight, they have had custom domains for a looong time & there was absolutely no need for Jekyll either at any point to host a page, it just happened to be one the most documented/blogged about way to use GitHub pages with automatic builds instead of having static content.


Cloudflare wouldn't work well for me. Filling a captcha everytime to have a page load is stupid.


I know what I do to get that prompt (ahem porn), I can’t imagine what does it on every page load.


IPv6 and aggressive anti third party cookies seem to trigger it pretty well.


>Github pages is fine, but the extra gh-pages branch is kind of annoying.

You don't need that anymore. You can run Github Pages out of a branch like /docs, which makes life much simpler. That's how I run most of my sites.


Re: Github Pages

- I've got several sites on gh-pages with custom domains and pay exactly $0

- I don't use Jekyll, I literally just `git push` a static repo


The feature that made me change from github pages to netlify was 302s. Cloudflare pages doesn't seem to have that.


Stay tuned. Lots of these Cloudflare Page niddles getting fixed in a few weeks.


You need to use Cloudflare page rules, which has some limits, but works fine for www. redirects etc.

For everything else it expects your SPA to handle it.


What is 302s?



Would your ranking change if you assumed you'd be running Jekyll and deploying to Github pages?


Hosting a personal blog on old / cheap hardware at home and accepting some downtime now and then should be a trade-of worth making for most. An interconnected web of documents served from personal computers residing under a desk or in a basement – it is a beautiful thing.

We nerds often seem to fall into the trap of over-engineering things, like, spending a lot of time building personal stuff that can scale into the infinity – only to end up never having more than 10 concurrent visitors at any given time.

By accepting and embracing the intermittent and slightly unstable nature of serving websites from our homes, we can take back much of the in(ter)dependence and hacky, quirky fun that many of us fondly remember from the 90's and 2000's.

Setting up a webserver on a Pi and serving it from home can be a fun project, not necessarily trivial for everyone, but definitely within reach for most technically inclined people.

Might be among the cheapest, easiest AND fun ways to host a static site :)


Adding to this: If you want/need to mask your residential IP, still want access over clearnet, and have e.g. a VPS with a public IP that can front the traffic, the easiest while still robust way I found to do this is to set up a Wireguard VPN and use either microsocks+proxychains, or vopono.

Bonus that this works even if your server is behind some DMZ or bastion without having to open up the mothership.

(For the use-case of a public personal static site this probably doesn't make much sense; you could just publish to the VPS in the first place. But if you have server-side stuff you must or want to run locally for whatever reason, this is way more straightforward to get right than manually fiddling with iptables, using some SSH tunnel, or setting up redundant reverse proxies)


I have hosted all my websites on a server at home since 1993 until 2021. I never had any downtime or problems. I ran a ISP and datacenter from my home for a decade as well. Nowadays I have a $2 per month VPS to forward a static IP at 1 Gbps to both my home servers and a failover server at a friends home. Works fine up to 600 Mbps sustained web traffic. Its been cheaper than colocation of dedicated servers and much cheaper than hosting in the cloud.


How does one run an ISP at one's house? Wouldn't you need access to a backbone or peering agreements?


In 1990 I started the first ISP in the Netherlands, I had a dialup modem bank in a spare room after I installed the first hundred phone lines from the trunk line across the street. My backbone was upgraded to a 2 Mbps custom modem to the rail way station nearby. From there we had 2 Mbps modems at every rail way station from Utrecht to Amsterdam and eventually all the way across the country up to Groningen.

I upgraded to a fiber optic line around 1996 straight to the first free internet exchange in the world in Amsterdam, that we started ourselves. There we peered and had transit fibers.

Now I'm laying my own fiber backbone and house to house power router network [1] starting at many internet exchanges (one per country). We combine that with HVDC electricity backbones interconnecting solar and wind to build the first community owned Enernet with 10-80 Gbps internet.

Join us to start Enernet in your neighbourhood and give the internet back to the endusers while also saving each household over $2000 in heating and electricity bills per year.

[1] https://www.academia.edu/download/51128325/Fiberhood_white_p...


I am doing this and it's fun! The only hassles I had are a. setting up DDNS (since I don't have a static IP) and b. getting a certificate from Let's encrypt with only port 443 open (80 is blocked by my ISP). But other than that, it has been great! Hopefully my ISP won't have a problem with that ;)


I just use a script on a cron that runs every 15 minutes and updates my DNS provider. And for let’s encrypt, I use the DNS verification method so you don’t have to even expose HTTP(S) ports if you don’t need to


I wrote a small go app[0] which is invoked every 15 minutes and updates the DNS through the cloudflare API. Its very specific for my use case and ISP but works well.

[0] https://gitlab.com/dominikstraessle/homelab-dns


Cool! There's also certbot[0] and lego[1] which can do ACME-DNS with a range of providers beside CF. You could also do tls-alpn, which allows you to do do the challenger encrypted on another port. Sounds like DNS works fine for you, but it's primarily worth considering for those issuing certs for non-public names that shouldn't be broadcasted via public DNS.

[0]: https://github.com/certbot/certbot

[1]: https://github.com/go-acme/lego


I'll go one step further: were it not for self-hosting since the early 2000s, I probably wouldn't have a career. My first "server" was a Pentium laptop with no screen. Now I run thousands of servers for a company you've probably heard of.


I’m going to believe those thousands of sites are still on the Pentium laptop.

https://xkcd.com/908/


Definitely cool, but personally, I’d rather not open any inbound holes into my home network, no matter how secure I may think it is.


This can be solved by having a separate VLAN for services that are exposed to the internet.


Don't a bunch of residential ISP's not allow HTTP?


Yes but just in the land of the Free.


I must contradict this. Virgin Media (a large UK ISP), as well as other service providers, see running a web server on a residential Internet connection a violation of the Terms of Service.

(Unless I misunderstood your point.)

https://old.reddit.com/r/selfhosted/comments/8cfwmi/any_uk_p...


Source? I've never heard of this in the US or in other countries I've been in, although I wouldn't doubt it's the case somewhere.


Every major ISP I've used has disallowed hosting websites since about 2002 or so when Comcast, my provider at the time, changed their policy.


Same here! I'm working on a small site for pentesting / CTF commands. Like a cheat sheet but interactive so you have to copy and change less code during my day. It's entirely static so any nginx server just caches all the responses. A simple NUC does the trick.

Put the free Cloudflare proxy in front just to speed it up a little.


That's how I do it. I absolutely agree with the overengineering. I'm pretty confident my low-end Celeron server could handle a large number of concurrent visitors over my fiber connection at home.


It's been getting more difficult to host any kind of services at home. My current home internet service is behind triple NAT.


I host at home but put a VPS in front of it. Then I use wireguard to route all the connections to my home server. Which goes right thru all that NAT.


I can 'upgrade' to a fixed, routable IP for ~$5/month.

If I switched to a different ISP, I used to be able to get a fixed IP for a one-time $40 fee. I think that offer is no longer available though.


Doing this (not a blog but a game of freeciv) is how I got into coding as a career instead of coding as a hobby.


I do the same thing. The only problem I have is with my mail server. Any email that comes from my dynamic IP address auto goes to junk for everyone. I send probably one every two weeks for password resets.


Setup dynamic dns , and point your spf to that


I wonder if 3rd parties could DOS the telephone (VoIP) this way?

Do you take precautions or just accept the theoretically lower reliability of the phone – which isn't anything reliable anymore anyway, thanks to VoIP?


I do not currently have a VoIP telephone, but don't think it would be an immediate worry as I have a 500/500 fiber connection.


GitHub Pages or Netlify for sure. With either of these options, your static site can be set up to deploy whenever there's new commits to the specified branch.

Me and a friend mentor for Code Louisville, and we're able to get the beginner frontend students up and running very quickly using these options - they're free and much easier to use.


I see the "GitHub Pages" suggested a lot whenever this question comes up, but it's worth noting that it's against their ToS[0] to use it for commercial purposes:

"GitHub Pages is not intended for or allowed to be used as a free web hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions or providing commercial software as a service (SaaS)."

So it's great if you want to host a personal site / blog or some other non-revenue-generating website, but for anything more than that you could run into issues.

[0] https://docs.github.com/en/github/working-with-github-pages/...


Anyone got issues with this?

In my opinion, there are some cases where it is a gray area: professional portfolio, case studies website with an email collection form, blog posts where you mention that you are a freelancer, a site where you link to your YouTube videos, some simple JavaScript app that don't require a backend but might make some money with ads...

So I'm just wondering how often they strike down at people who operate in this gray area.


I suspect it’s more a “don’t yell at us if your business site is down because you don’t know what you’re doing”.

The SaaS part might have more teeth.


That's a great point. I actually looked at GitHub pages and my main issue with it is there's no way to password lock the site. I don't need serious security here, but I also don't exactly want the entire world to see my HTML playground.

I'm not sure why they're doing it this way, it should be a nominal task to restrict viewers to those with read access to your repo, but I think it underscores the use cases they have in mind here. They want you to use it as a blog and not as a serious web hosting solution.


> it should be a nominal task to restrict viewers to those with read access to your repo

I don't think it would be quite that trivial. They would have to inject authentication into your HTML, which could cause lots of things to break.


They offer it for Github enterprise .


Even for private stuff you're under dictation of a 3rd party that decides what you're allowed to say to whom and who eavesdrops. US was once famous how they valued free speech. Tempi passati.


I discovered Netlify through Netlify CMS. I had a pretty bad opinion about Netlify CMS, so I was pretty sure Netlify was going to be at least as bad.

Damn, I have never been so wrong:

  - the interface is so intuitive I never opened the documentation
  - this is FAST (the bottleneck to see my website live is now my browser cache)
  - no need to create a Github Actions pipeline to deploy, just say "hey, my repo is here"
  - automatically integrated with Let's Encrypt for custom domains
  - deploy previews!!!
And so much more.


My favorite feature is automatic deployment of pull requests. I love it, and I wish there was something as cheap and easy for backend services as well. Though I guess it's not too necessary if you implement testing properly :p


Heroku has offered branch previews for a while now

Edit: they call it Review Apps (https://devcenter.heroku.com/articles/github-integration-rev...)


LayerCI[1] maybe?

[1] - https://layerci.com/


This looks almost too good to be true from the docs. Thank you, I'll check it out.


Also, preview deployments for PRs.


I swear by Netlify. It's fantastic, and I use it for several sites, not least of which is my own personal site.

One of their neat features is the ability to spin up "pull request sites" automatically, so you can share versions of your site with stakeholders before it's made live.


Also you can deploy your `public` folder to Netlify simply by drag-and-drop. I love this.


+1 I have been using Netlify to host 3 static sites for many months now. Have had 0 issues. Set up took <15 minutes. Making changes is a breeze.


I've been very happy with this setup for my simple personal marketing site.


Check out Vercel! [1] You can deploy for free, with a single command, in a few minutes.

Disclaimer: I work at Vercel, happy to answer any questions.

[1]: http://vercel.com/


Your pricing page is confusing to me. There is a free tier, and it says "Pay as you grow", but I can't see what the limits on the free tier are or how growth is measured. How does it work?


The paid plans let you deploy more often, has longer timeouts, and lets you have team members. Also, hobby plans are limited to personal, non-commercial use. https://vercel.com/docs/platform/limits


I tried out vercel for the first time this week after Github pages failed to deploy an already built static site 30 mins before a demo. I took a gamble on vercel about 10 mins before I had to demo and it was running with a few minutes to spare, from starting sign up to having a live site - all free. I'm upgrading us today, because that was an exceptionally good experience. Thanks for making a simple product.


Interesting that you chose to actually host it given the time constraints! I would probably cheat and run a server locally (say python -m http.server 80) and add the domain to /etc/hosts


I had to send the demo to people around the world, rather than demo it myself over a call.


I've been a happy user of Netlify, Github Pages and now Vercel. I'm really enjoying Vercel lately! It's been really great. Recently also tested out Cloudflare Pages, but I think they have a bit of work to do before they can match Vercel.


Best part of Vercel is that it supports web apps with back-ends that can make API calls (it's like "static site+"). It's my goto host these days. Love their framework next.js too.


I also use Vercel. It is a good product.

Disclaimer: I don't work at Vercel and I'm just a regular guy


I will second this recommendation. I use Vercel for all my static sites and have found it wonderful to work with and well documented.


Vercel free tier is awesome!!


Not to bring down the mood on how easy it is for static sites on Vercel, but I still get sad about it moving away from server side or Docker based deploys. I really miss that workflow.


Very happy Vercel user here. My default choice now -- supremely simple and fast deployments with great UX.


If you mean pure html/css, then the least friction would be NeoCities [1] It is free and not owned by Microsoft or Google.

[1] - https://neocities.org/


Neocities must have an interesting story behind it. I seem to remember something about it being part of an effort to salvage Geocities. Has the story been written down somewhere?


Seconded. Their CLI has all you need, even git hooks. Personally I just use `neocities push .`


Thirded.

Use it to host my blog; free tier is good, but I really like them and have really phenomenal limits, etc, so just pay (even though my blog is not updated nearly as much as I'd like)


You are limited to one *.neocities.org site, otherwise it's $60 per year.


I have unlimited neocities subdomains and pay $0 a year. I must be on a discontinued plan, but at one time there was a $100 lifetime offer.


Sounds like the perfect plan. How many of the companies mentioned in this thread will be around in 10 years? I'd bet on neocities.


What makes you think neocities stands out and above?


From what I understand the motivation behind neocities is more political (humanist) than commercial. Also it's fully open-source (the data could easily be hosted anywhere else for cheap). You can read more about their stance on their blog: https://blog.neocities.org/


I personally use Firebase for all my static sites. Completely free and fast. If you need to run some backend function they have Firebase functions which is free to a certain degree too.

Example site: https://jeremyshaw.co.nz

Other than that I'm sure Github Pages and Netlify are fine, both very popular options.

Worst case you put it on Amazon S3 and get charged a fraction of a dollar every month .


Except if you get hit by a DDoS.

The fact that you cannot put a cap on your spending is infuriating (the official AWS answer is "we do not want to break your business" (even if I want to)).

To be fair, some complaining or crying in such cases usually gets your bill reversed.


You don't mean literally distributed denial of service attack, right? It's super easy to keep serving a static resource, so I think you'd need a huge amount of traffic to put a dent in Firebase's static hosting capacity.

I've had spikes of up to 300k visitors to my Firebase blog in a month, and the bill was like $150. It seems hard to get bitten by huge surprise costs from a blog on Firebase static hosting, even if someone's using a botnet to try to drive up your bill.

Edit: Thinking about it a little more, I guess you could find the largest resource on a blog and direct your botnet to download it nonstop repeatedly, and that would be orders of magnitude more expensive than even large organic traffic.


That is... $150 you definitely didn't have to spend.


> so I think you'd need a huge amount of traffic to put a dent in Firebase's static hosting capacity.

No, I was referring to your bill, when your resource usage spikes (really spikes, as in sustained Gbps+ traffic spikes). Many people were taken aback by the unexpected bills.


You can, it's just very convoluted.

You can set up billing alarms and use alarms as triggers for actions.


One of those stories that get posted every other month about "How I racked up $xx000 bill for Firebase" explained that they had billing alarms but they weren't exactly real time.

Also, you might be the main/only site administrator, in which case falling asleep might end up badly for you.


Check with your ISP, they often offer some 10 or sometimes 50! MB of free space to host your homepage and images under an account url, eg: http://example.com/~you. Uploading is easy, just FTP your files to their server and your done!

I miss the old days :(


The in-between days (after dial-up ISPs, but before "cloud" meant people forgot they could do things themselves) was to host the website on your own computer. For example, an old laptop, a Raspberry Pi, or an always-on-anyway desktop.

I host my personal site this way.

I also host about 100 mostly-static mostly-low-use websites at work similarly: with Apache on a couple of VMs. They are more reliable than the free versions of Netlify etc, and the systems work to maintain 100 static websites is little different to maintaining 5 static websites.


I'm not sure how you do this unless you have a static IP somehow? In my experience ISPs don't offer that to residential clients


There are "Dynamic DNS" services (a good free one used to be DynDNS in the 00's) that will take an API call from your home system and update a DNS with it.

Many routers have support for this and if your router runs dhcpcd you can tell it to issue the call when it renews the DHCP lease from your ISP, or simply cron job it.


Note that you don't need a marketed-as-"dynamic DNS" provider to have dynamic DNS. You just need a DNS provider with an API.

Cloudflare has a DNS API. So if you search "Cloudflare DDNS" you'll find five or six different Github projects (some binaries, some scripts) you can run on any box in your house (maybe a Pi?) that'll do your DDNS through them.

(You don't need your router to run a DDNS client, even though routers make it seem like a router-exclusive feature. The only thing your router knows that your LAN doesn't is your network's external IP address. But a DDNS client can just hit an external reflector endpoint for that.)


From my experience most ISPs don't give publicly routable addresses anymore, just throwing everybody behind CGNAT (currently I pay extra 3$ monthly fee for static routable IP, but not all providers offer it). And IPv6 is usually still not deployed.


In the US, it's pretty rare to be behind CGNAT or not have IPv6. We're lucky in that regard.


As the other comment says, I've never seen CGNAT in the US. I'm sure it's deployed in some cases, but I've never had to deal with it.

I'm confused about it though. For some applications and games you need to connect peer-to-peer for them to work correctly. How is it possible to connect to a peer with some random port open (e.g. 48295)? It doesn't seem like the ISP could know that the request was aimed at you, if something like UPnP isn't being used. Or does CGNAT simply disable all incoming connections, breaking p2p applications entirely?


Some systems use an internet service to coordinate nat-traversal/hole punching. Other systems just don't work.


They don't, but my ISP-provided modem/router combo has built-in integration with a dynamcic DNS service. If your domain name follows whatever your IP is, it's close enough to static (at least for my uses)


Alternatively, you can use cron/systemd timers to update the domain minutely.


Some ISPs do offer static IPs to residentials users (many of the top 10 here https://www.ispreview.co.uk/review/top10.php)

As IPv6 becomes more widely adopted, there will be no need to conserve IP addresses and everyone can be allocated a block of them.


My IP and a friends have been the same for five+ years even though it’s technically dynamic. DYDNS hasn’t really done much.


In my experience IP addresses rarely change from under you. There has to be actual noticeable outage of service. But in that case you can just use any of the free dynamic dns services. Back in the day I didn’t even have proper domain name I just used dyndns


OVH offers 10MB hosting when you get a domain with them. With FTP access.


Then you're locked into your ISP forever.


AWS S3 + Cloudfront. The initial setup can be a little finicky, but once you do get it setup, the rest of the time you only do an S3 sync from your local dir to the S3 bucket.

It will also be stupid fast (cloudfront is edge networks) + have ssl + it will not go down if you ever see a surge in traffic.

I have several of these and they work beautifully. As far as cost goes: 12$/domain per year + 0.5$/month for route53 zone + 0.2$/month for the actual traffic and hosting the content in S3. So it's under 2$/month for "enterprise grade"


> So it's under 2$/month for "enterprise grade"

Except that it isn't.

Only the domain, and to some extend, the S3 costs are the "fixed" cost that you can even predict at first. A surge in traffic will surely increase the egress data, and that is easily $0.05-0.10 per GB.

Cloudfront is one of the most expensive CDNs out there, and after 2-3 years of use, I came to realize how much I was wasting money on. CDNs often work quite flawlessly if you have a good cache busting mechanism, and I was paying a huge premium for what was essentially a set-once operation.


let’s talk numbers. how much egress traffic would you have?

at 10GB per month you pay 0.8$/month yes the traffic it costs extra, but a static website should not be GB (or even MB) in size. Also, if you have a lot of traffic you should learn how to control the caching aspect.

i would also challenge you to look at what egress traffic costs in other places.


For $work I reduced our cloudfront egress bill by over $2000 / month by putting cloudflare in front of cloudfront.

For a side project I likely wouldn't bother, but the pricing differential is really damn steep.


2000$ is a lot of traffic. way more than any side project would have.

I guess that if you are at a point where you are making decisions like you needed to you are out of the “easiest way to setup a static website” territory.

I would be curious what kind of content you were serving and how much traffic/what are the absolute $ numbers cloudfront vs cloudflare.


We ship about 800gb / day, half of which is image/jpeg.

Every byte that comes out of the cloudflare cache is a byte you don't pay for out of cloudfront, and cloudflare is only $20/mo.


I put my site on s3, gatsby deployed from GitHub actions automatically after merge with master, and put Cloudflare in front of it. Remember reading that Cloudflare might throttle the free plan sometime but never noticed! And it’s free so can’t complain!


Yes, I have a similar setup on Azure - Azure Storage account with an Azure CDN fronting it. It's less than a single US cent per month for the hosting and bandwidth costs atm.


I did this for a while, the ability to deploy to Azure from within Visual Studio Code was also quite fun.


OP literally pointed out AWS as the kind of thing they want to avoid because it's too complicated.


Azure Static Web Apps is free at the minute, and I've heard the pricing will be very reasonable once it comes out of preview (in the cents/pennies probably unless you're really popular!)

https://azure.microsoft.com/en-gb/services/app-service/stati...

Would recommend giving it a bash, or you could deploy it manually with Azure Blob Storage Websites and a simple deployment CI pipeline.


With Github Actions the CI more or less "just works".

With free private repos and that kind of integration it's a pretty neat setup.


I continue to be a big fan of surge [1]. A number of toy projects/demos of mine have been developed using create-react-app, rendered to static files, then deployed via surge.

[1] = https://surge.sh/


I used surge once recently, and it just works. What I didn't figure out when the same site is deployed to the same domain name, and when it gets a new one. I'm sure it's documented, it's just not obvious (and for a throw away web page it didn't matter).


Git project? Netlify. Not a git project? Surge!


Netlify! I use it for holding pages for client websites. Quick upload of a folder containing an index.html and a stylesheet and off you go.


Netlify also provides an endpoint to deploy a new version with a single HTTP POST of a zip file if you ever want to start scripting deploys.


Seconding the https://nearlyfreespeech.net suggestion. I used to be their customer and had absolutely no complaints.

I have switched to BunnyCDN [1] a while back, also very happy with it. Pricing is extremely cheap, and has the added benefit of being able to cache anything dynamic you might add in the future.

[1]: https://bunny.net/


Seconding BunnyCDN. I use it with https://lftp.yar.ru/ in reverse mirror mode to upload/update my generated public/ folder. Easy and cheap!


Bunny CDN is a great option if you want to drag and drop or FTP a website update (without a build step). Dirt cheap, and incredibly simple.


I’ll second the use of GitLab pages - free hosting, free letsencrypt cert, only pay for your domain, very easy setup.

Here’s my setup with Zola: https://seanharrison.org/postgrails/20200523-got-zola/

A couple notes about setting up DNS since the gitlab instructions weren’t 100% clear to me: https://seanharrison.org/postgrails/20200720-gitlab-pages-dn...


I can't say I'd second it -- at least not for anything outside of demos. You can't set custom headers which means you can set the recommended OWASP security headers and you'll get an F score on Mozilla Observatory. This will also not let you set proper caching headers which can mess with performance or just be incorrect like with service workers. A small additional nitpick is that you will need to do your own gzip and brotli compression instead of that being done by default (which is easy to forget about, but at least it gives you the flexibility to support Brotli and future formats like zstd whereas other providers you only get what they decide).


can't* set


I have my site in an S3 bucket with the static-site flag activated. It would not win for 'easiest'. However, it's the only thing in my personal AWS account right now and my monthly bill is $0.83


Cheapest however, is out the window.

I mean, if there's a chance, however remote, that you might end up as the #1 of reddit or whatever, stay away from S3. Your site won't go down, but oh god, you pay for that.


How much though? And stick it behind CloudFront. The Free tier is 50GB and 2,000,000 requests.

https://aws.amazon.com/cloudfront/pricing/


yeah no. even if it gets wildly popular over night you'll only pay a few dollars


An S3 bucket is intended as storage, not retrieval. Downloading from S3 means grabbing shards. You should put a proper CDN, like CloudFront or Cloudflare, in front.


Pfffffft. It’s probably a personal site with 10 visitors a week. Let’s step back a little here.


Let's be real here.

He clearly needs kubernetes.


Hahahaha


This is correct. Why would I put any more effort into it?


Cloudflare at minimum it's free as well and will protect you from bad actors which will save you $ if someone starts an infinite loop requesting your site.


And 9 of them are just bots.


> You should put a proper CDN, like CloudFront or Cloudflare, in front.

I understand what you're saying, but why? I assume the site in question is pretty low volume. What's wrong with serving directly from S3?


You can't get https on S3. Also many interesting headers are only available via cloudfront.

Also you get a little bit of protection from someone sending lots of traffic to make you spend $$$


S3 does not support gzip compression.

https://news.ycombinator.com/item?id=26600816


You can generally query any object off s3 in a few milliseconds..

I have a system doing 10s-100's of millions of reads a day from s3 with very consistent and fast read times.


Why, if his monthly bill is 83 cents, and he values his time? Does not using a CDN impact performance in a crippling way that neither me nor the poster you're replying to understands?


The big gain with putting Cloudfront in front of it is you can have HTTPS.


HTTPS gets you better SEO and the ability to be iframe'd from HTTPS sites.


And some security.


And loose 30 mins of your life you’ll never get back. It’s just a person site.


Browsers will light up like a christmas tree if your site doesn't have https.


Performance maybe a little bit, but IIRC you, as the owner of the bucket, pay for bandwidth out.

Putting it being a CDN protects you (at least a little bit) from the possibility of a huge bandwidth bill at the end of the month if someone realizes they can attack your wallet directly by trying to ddos your site.


I agree– AWS bandwidth out is literally 100 times more expensive than CDN and VPN bandwidth out.


indeed, not to mention generous bandwidth rates on vps providers too


*VPS


It takes like 30 seconds to point a Cloudfront distribution at an S3 bucket. Maybe a couple minutes more to set up the domain.


Eh, only if you've done it before. If it's your first time, it can easily take 30 mins to an hour, if you also have to figure out how to host the website on Route 53.


Well, sure, but every suggestion is going to take some time if you've never done it before. It's not like it's an obscure skill that you'll never use, it's pretty handy to know.


I don't think it matters much b/c of the super low volume but I do have it behind Cloudflare free-tier.


> Does not using a CDN impact performance in a crippling way that neither me nor the poster you're replying to understands?

It adds up to 600ms of latency for each roundtrip. A modern website without link rel=preload is several roundtrips– download HTML page, then do JS requests and CSS, so that's ~1.2s of additional latency.

Because he succumbed to AWS' marketing. Surge, mentioned downthread, lets you deploy a folder for free on a worldwide CDN with virtually no setup.


I agree, S3 is only storage. S3 even does not support gzip compression.

If you are hosting a website in s3, please put a CDN with gzip support in front.


You can use CloudFront with an S3-backed static website.


This terraform script takes it from 'stupidly complicated' to really really easy: cloudmaniac/static-website/aws


https://render.com (lead by early Stripe infra employee!)


Seconding render. I host a Hugo site with them. Their free tier is pretty feature-rich and I love the automated builds. My site is set up so that any push to the main branch on a private github repo gets automatically checked out, compiled to HTML, and updated on their CDN.


Looks similar to Digital Ocean App Platform except they have much better bandwidth allowances, apex to www subdomain direction, cron jobs and persistent disk.


Yeah loving their setup. Very Heroku-like. Free for static hosts and almost as cheap as Digital Ocean for servers


I'm using them for a rust rocket site, and about to for a django/vue thing. It's extremely slick and easy to get going. But they are just personal projects. I haven't thought about whether it would be suitable for a prod deploy, or how I'd do something like take django down while database migrations are running on deploy.


The most popular currently is probably https://www.netlify.com/ - 100% free.

If AWS + CloudFront is too difficult and you don't mind spending a few bucks, it's pretty easy to get started with LightSail - about $3.50 a month.


Specifically Netlify Drop: https://app.netlify.com/drop

You don't even need to create an account, just upload a zip of your files.


You don’t even have to zip it!


NearlyFreeSpeech is an incredible service. It has honed its focus on simplicity even as virtually every one of its competitors have attempted to commodity complexity.

Don't get me wrong: I enjoy complex services as well. But for simple web hosting, NearlyFreeSpeech is the best I've found, and whatever is second isn't close.


GitHub Pages are probably the easiest to work with, with node modules built for easy one-command publishing.

Though for production I'd probably use S3+Cloudfront.


Also auto-publishing on pushes to a specific branch with GitHub actions is really awesome.


Github pages - free

Basic FTP hosting starts from $10 per YEAR so it can be considered cheap as well - just create an subaccount that after login will be in the your page destination so it will be blazing fast to use with w.g. FTPzilla and just drag and drop your files each time you want to update.


Check out Cloudflare Pages: https://pages.cloudflare.com/


If you use Fastmail, it comes with static website hosting included


You could host it P2P in Peergos - https://peergos.org/posts/p2p-web-hosting

Disclaimer: I'm a co-founder


I tried but you have a waiting list.


If you added yourself we'll onboard you soon.


GitHub pages! It’s free so I don’t think it can get any cheaper.


My weekend project is to move a small personal site to Cloudflare Pages[0]. Can't vouch for it yet, but it might be worth a look.

[0] https://pages.cloudflare.com/


Got my invite a bit ago. Haven't converted my site yet.

How did it go?


Google App Engine has a very generous free quota. The setup isn't as easy as good old FTP, because you need to define your static files in a configuration file. Once the config is written the deployment is a single command though.

https://cloud.google.com/appengine


The free bandwidth quota isn't enormous, but if you put Cloudflare in front then you're good for practically unlimited free traffic. App Engine is overkill for a completely static site but it's great for something that is mostly static with one or two things that change.


>>> The setup isn't as easy as good old FTP, because you need to define your static files in a configuration file.<<<

Are you referring to specifying the path to your static folder/directory in your app.yaml file? If so, that doesn't seem so difficult to me.

Yes, you're right - the deployment is a single command for something as simple as a static website until the next time you need to make changes (then you'll have to root around your terminal again) or you decide to upgrade from static to something a bit more complex. Shameless plug here - my site, https://nocommandline.com, allows you to just select and click deploy; no routing around in terminal/commandline.


I think you're better off using bucket storage rather than App Engine for a static site.


A while back I wrote a tool* to make this as easy as possible for my use case: a single command to register the domain, jump through all the AWS hoops, and have a live static site with ssl at the end. I was pretty happy with it.

These days, though, I just use netlify. It's not quite one command, but it's about heroku-level easy, and it gives you a lot of little niceties (autodeploy whenever you push a specific git branch to github, ssl, etc).

* https://github.com/kkuchta/scarr


I use

    git push
and that deploys my static site, which I think counts as "Heroku but even easier".

For this to work, in the bare repo I push to, over ssh, the post-update hook automatically pulls into a non-bare repo:

    #!/bin/sh
    set -e

    echo -n 'updating... '
    git update-server-info
    echo 'done. going to foo'
    cd /home/bar/public_html/absolute/path/of/a/non/bare/clone
    echo -n 'pulling... '
    env -u GIT_DIR git pull
    echo -n 'updating... '
    env -u GIT_DIR git update-server-info
    echo 'done.'
You can use rsync too, but I think Git is substantially better for this kind of thing.

Now of course this assumes that you already have a server machine somewhere, which you can ssh into, which is running a web server, and which is already in DNS. I've been in that situation for 26 years now, except that at first I used telnet. So I kind of take it for granted.

It sounds like maybe you're looking for a way to not run your own web server process, instead sharing the burden with other people, like a PHP shared host from 15 years ago. If that's what you want, maybe you should share the server with a few friends? Like, two to eight? That way you don't have to give up the ability to solve whatever problems come up with the server.


For the extra $1-2/mo, I think a $5 DigitalOcean ubuntu/similar droplet provides a ton of value, above and beyond just hosting a "static" site at the cheapest place for less. Want email too? ez. Virtual Hosts? ez. SOCKs proxy in the cloud? literally built in.


I got away from self-hosted mail a few years ago and haven't looked back. There are a few flexible privacy-forward options on the market now (FastMail, Proton) and I don't have to worry about configuring DMARC/DKIM/SPF, Postfix milters, Horde/Roundcube, Courier, secure connection negotiation, X.509 certificates, or any of the other headaches associated with a quasi-legacy technology like e-mail.


while i agree, self hosting email is fraught with traps


I'd say Digital Ocean's newish Apps platform. Static sites are free and they can run a build step for you (still free).


For the curious, here's DigitalOcean's page describing the App Platform, including a breakdown of prices.

https://www.digitalocean.com/products/app-platform/

"..Build and deploy 3 static sites for free."


Only 1G of transfer on the free tier though. That's fairly middling.


I didn't see that when they launched -- wondering now if I'm blind or they added that caveat after the fact


Depends on what you may already have! I was looking for something similar the other day, and remembered that I already had some redirects setup under my custom Fastmail domain; turns out they also allow you to host static HTML. You can even generate a dedicated FTP login to automate uploading. This specific case might not apply to you, but perhaps you’re already paying for another service that also offers something like this?


I user https://render.com for my dynamic ($7/month) and static (free) sites.

You specify a build command (ex. `npm run build`), and a directory (ex. `_site/`) and it will build and host it for you. It can automatically deploy on git events, or via web hook, or manually (button push). SSL/custom domains are also free and very easy to setup.

I stan render.


Is render like heroku for the dynamic stuff? Seems very similar offering


I find it simpler than Heroku. No buildpacks or database addons.


I did something similar for a kids coding camp in Bulgaria. It requires 0 technical knowledge, no registration and no captchas, but it is maybe a bit too tailored for their use case: https://bin.gamejs.online

I actually started it using myself, because it is so nice to just zip a folder and get it online in ~10 seconds.


I use pinata to pin an ipfs hash and then a public gateway (currently using cloudflare). It's free and a fun programming assignment to script the pinata and DNS APIs so that I can update my site.


I use https://sdf.org, but then my needs are very modest...


Love to see projects like this still in existence. I sometimes wonder if I would get some users who could also share a box and keep it going for 30 years.



Mea culpa. It looks even more awesome now. I'm in -- and I think I'll send them a $1 via paper envelope now.


I created https://tiiny.host - might be exactly what you're looking for. Command line tool coming soon!


Replit (free):

- Go to repl.new/html

- Write code

- Hit run, deployed!

- (optional) link domain

Docs: https://docs.replit.com/repls/web-hosting


Take a look at sourcehut pages (srht.site) too.


surge.sh is quite nice, mainly because you just run the command from your “dist” directory, press enter a couple of times, and it’s uploaded.

If you want a more CI type service (i.e. you push your code and it builds on the cloud, rather than you build it locally - or it requires no build), I’ve found Netlify pretty good.

Was using Vercel for a Next.js project recently, quite nice experience but it randomly started timing out about 50% of builds and their support were unwilling to help without a minimal repro - fair enough, but I was on a deadline so switched to Netlify, which built the site with no issues.

Will try out Cloudflare Pages next based on the positive comments in here!


I guess cheap and easy are opposite directions in a way, but if you are totally static, I guess a Digital-Ocean instance isn't too difficult, with some leeway to improve the response-time over time; Just slap a Nginx or something on it, serve up the statics, and maybe establish a way to upload stuff (scp?), Just keep hold of backups (docker images, configs/dotfiles, and actual content), put good protection on the droplets (they are targets for hacking).

The benefit is that it's just a linux distro of your choice, so you can use whatever you are familiar with, and there is scope to add non-static service if needs be.


They have a managed service for folks with docker instances.

You also get a few free static sites as well https://www.digitalocean.com/products/app-platform/


If all you really need is static web hosting there's several "good enough" or even "really good" free options these days, and many of them have insane reliability/uptime and can even build your site/blog for you. Many of them can be set up to deploy automatically when you commit to a repo.

- GitHub Pages and Netlify are the two obvious and most popular choices, but there's also cloudflare, gitlab pages, hell even Keybase has static website hosting: https://book.keybase.io/sites


Yeah, I was going to recommend Keybase as well, despite still being extremely butt-hurt over the sale to Zoom and subsequent abandonment of continued development on it. While it has some limitations, it's hard to beat their combination of uptime, price, a built-in Markdown parser so you don't even have to muck around with Jekyll/Hugo/Pelican et al., as well as mobile apps that expose the files and directory structure for editing on the go. You can even map it to your own external domain.


There's a list on SaaSHub tracking all the recommended/mentioned products here https://www.saashub.com/alternatives/post-news-ycombinator-2... however, I'm wondering why https://www.netlify.com/ isn't listed...

Please don't upvote or downvote this one. It's more like a "debugging" comment.


Hetzner Cloud gives you a full VM for 3 USD/month. I have hosted a game there with thousands of daily users.


I'm using an AwardSpace [0] because they offer free hosting with PHP/MySQL and other features for free. Best is that they are over 15 years on market. For alternatives there is Firebase Hosting [1] that is also great since it's running on Google infrastructure.

[0] https://www.awardspace.com [1] https://firebase.google.com/docs/hosting


Cloudflare pages. The only real limit on the free plan is "500 builds / month". Simple is relative, of course, but if you're a developer, you'll likely find it simple, and it does fit your "deploy with a single command" requirement. https://pages.cloudflare.com/

You can also tie it with the free plan for Cloudflare Workers if you have some need beyond static pages.


Cloudflare Pages will reload/redeploy on any git push right (just like Netlify?) ? Just want to be sure before I try it out..


For Github, yes. For anything else, you would have to use their rancher tool and Cloudflare KV store. I imagine they have plans to support other providers, but aren't quite there yet.


Seems like a great way to go, and if they implemented a Netlify CMS-like feature as well, that would really put it over the top as a unified one-stop shop for DNS/CDN/static site hosting + authoring built-in, and it also has Workers for any functions/dynamic pieces that might be needed.. all on Cloudflare's metal/edge. Sounds almost too good to be true..


Some people aren't fans of the built-in protection and feel it's a bit overzealous in throwing up catpchas to certain visitors. No CMS feature. I do like it quite a lot.


In case someone finds it helpful, I created a terraform script to create all AWS resources to self-host a static site via S3 and Cloudfront: https://gist.github.com/benkoller/360019b4ad40d572bccc2875b4...

I've been using this for years at over a dozen different projects, I think it's a great way to host even commercial sites.


I use site44.

It's ridiculously easy. It's a front-end to Dropbox, so if you're already doing this, it's basically:

Sign up, chose "mycrapsite.site44.com"

cp -pr deployedsite/* ~/Dropbox/Apps/mycrapsite.site44.com

Now your site is on the web.

Nothing else is as easy as that. Super convenient for a lot of times when you just need a few files accessible via the web for some reason, too - no need to use any web interfaces, just copy on the command line, and done.


Cloudflare Pages, or Firebase Hosting. Both can be spiced up with cloud functions.


In the past I compared downtime between github pages, firebase and gitlab using pingdome. Firebase had the most downtime, then github. Gitlab had zero downtime for months. Not sure it's the simplest but it was simple enough. Included Let's encrypt TLS out of the box and free support of custom domain name. Plus I configured auto deploy after each master commit with gitlab ci.


Regarding some cost free solutions mentioned here: how does the saying 'if it is free, then you are the product' hold up?


Likely a loss leader, since "free static site hosting" is usually not the main product.


The free plans usually have limits such that they’ll work for individuals but not businesses.

And someone using free plan X at home is more likely to choose Pod plan Y from the same provider for work.


I suppose Netlify free users pay it back in free advertisement.


surge.sh was born out of a Mozilla-sponsored project to make web hosting cheaper. They are doing it for charity.


For free, anywhere? GitHub, GitLab, Vercel, AWS S3... Even you watch can serve a decent amount of static pages/sec nowadays.


I built my site with Vuepress, and it auto-deploys to Netlify once merged to master. PRs also have preview builds, and their builds are fast. Very easy setup, and free.

Details here: https://fotijr.com/blog/2020/how-its-made/


If you want a pre-configured way to publish your notes or digital garden, Dendron's got an easy to use 1-click publish: https://wiki.dendron.so/notes/53de5c1e-b20c-4adc-ae48-e1659e...


Cheapest would be Google App Engine - see more detailed comparison here - https://worklifenotes.com/2020/05/24/google-app-engine-githu...


Speaking of AWS, I recently deployed a gatsby web site with AWS Amplify. It links to your git repo and will automatically deploy when you merge to master/main. You can also deploy branches you want to test out. As this was my second website I have ever deployed, I was amazed at how easy it was to setup.


Yep - we recently launched a couple of react sites on amplify and have found it super easy for our team to adopt. Hooked up to gitlab in a few seconds, added custom domain easily (automatically updated route53 for us), each PR gets its own deployment behind a password for testing, and develop and master are updated automatically on merge.


This. I can warmly recommend AWS Amplify for hosting static sites. Very convenient and easy to set up.


If you don’t mind the code being public, GitHub pages is free and a fantastic resource. I think you can also upgrade to a paid version to make the code private. Check it out here: https://pages.github.com/


Over the years, I've tried it all. Currently hosting my blog (nywkap.com) on AWS S3. It's cheap and fast but the overhead is still annoying. I don't find it interesting or technically challenging to go through the bumps of re-generating/re-deploying/cleaning CDN caches, etc. Also, publishing from a smartphone is either too hard or even impossible.

[self-promotion] After some frustration, I actually started working on a blogging platform that combines the speed of static site generators with the comfort of hosted solutions, all while making sure you own the data in a sane format. And also a personal preference - it must be as green as possible.

Check it out: https://zeroms.blog/

I should have the MVP ready next month.


I use docsify with github pages. This allows you to edit in markdown.

Github basically gives you a free IDE. There's no need to compile as markdown is converted to html on the client side.

https://docsify.js.org/#/


When I did this I used netlify.

However for my use case I now use cheap shared hosting and Wordpress, because the sheer amount of plugins to solve all kinds of problems is amazing.

One of the built in themes I think 2019 is a nice starter for a modern site and with Gutenberg you can create a fairly modern responsive site out of the box.

There is a plug-in for free that’ll backup the entire installation to your Google cloud and other clouds.

There are cache and SEO plugins for free to sort that side of things out.

Ive not used it but there is woo commerce for shopping although I wouldn’t blame someone for skipping it and using shopify for ease of use.

I also love not battling with Hugo etc. at the technical level. I do not miss reading Hugo docs thinking wtf!

Hosting for unlimited sites is costing me about $50 a year so pretty much zero.


Firebase hosting or GCS bucket + Cloudflare page rule for cache-everything.

Have used the cache-everything trick for client sites back in the day to serve a top 15 post on /r/all from a $5 Wordpress box.

Man, I'm so glad to be out of that space...



After trying several options, I currently run a ghost.org instance locally in Docker where I edit my site. Then I run a tiny shell script to scrape a static version with wget and push it to Github pages.


I use Github Pages + Jekyll for a personal blog. I just started recently. The main problem I'm facing is the limited amount of plugins you can use with Github Pages. They have only whitelisted a few [1].

You can fix this issue by building the site locally and push the generated files but it feels less "proper" to me. There is also the cache policy problem (TTL of 10 minutes) but that's minor.

[1]: https://pages.github.com/versions/


> You can fix this issue by building the site locally and push the generated files but it feels less "proper" to me.

Why? Then you can build it locally and push it to multiple sites?



That depends on what kind of static site it is. Is it for a business or making a business impression? Then I don't know.

But if it's for personal use then the easiest is to simply install nginx from your repos on your home computer and put html and media files in directories. Then forward port 80 on your router to the IP of the computer. nginx serving static is not going to be a risk. It's extremely simple. And having everything on your local computer makes it easy to share and very fast to iterate.


I use GitHub pages for most of my project static websites using gh-pages [0] to deploy via a GitHub Action workflow. It's been working great for general static webpages, or using Vue/React.

However, there are some limitations such as if you need to add custom headers.

If you need more customization, then S3/Cloudfront also works well too. I also use Netlify and had minimal issues.

[0] https://github.com/tschaub/gh-pages


It's been suggested below, but Github Pages is a total breeze. Find a theme you like, clone the repo, add your domain (and set that stuff up) and get writing.

If you go with Jekyll, it's really nice to work with. I decided to go with GHP over hosting myself in case I ever get super famous, which will most likely never happen.

Ultimately, its easy enough that you can get writing right away. If you decide that the software isn't enough, it'll be a breeze to move somewhere else since its all markdown.


I host a bunch of static websites created using Gatsby, Hugo and Mkdocs.

The downright easiest and cheapest (free) platform I find is AWS Amplify Console. It's simply too good to be true (no affiliation).

Connects with repos on all platforms (bitbucket, gitlab, GitHub). Push to deploy. Most of my sites are still on the free tier.

If you manage your DNS with Route53, you don't even have to configure subdomains anymore, every new site's domain is automatically configured with a click.


> jumping through AWS hoops

I found S3 static hosting to be fairly straightforward. Once set up, a single `aws s3 sync . s3://my-bucket/path` updates the content.


You might have a look at https://github.com/tobilg/serverless-aws-static-websites to get a single command deploy including CDN and a domain


I suggest putting Cloudflare in front of it. I have virtually no AWS costs with S3 that way. If you don't mind that Cloudflare + S3 means it's not fully end to end encrypted.


Can someone advise on if a CF Pages site would be fully end to end encrypted?


Agreed! It's super easy


It was observed that setting up let's encrypt certs on s3 static sites can be a unique challenge


Simple Webhosting. Cheap, reliable and unbreakable.

Single command deployment with rsync.

Plus you get serverless functionality for free with php scripts. Just place it in a folder and access it via browser.

Magic.


It's a bit late, but https://pages.cloudflare.com - simple, quick, easy!


S3 bucket with cloudfront in front. Route 53 for DNS.

Not sure if it’s the cheapest way to do it, but it seems extremely cheap. Likewise not sure if it’s the easiest way to do it, but it seems easy now it’s set up - everything is in one place.

IIRC Cloudfront <-> S3 data transfer has quite a generous free tier.

The only thing I worry about is whether uploading objects is expensive, and invalidation. But it’s not been (noticeably) an issue so far.


I have looked into this, I found that [vuepress] https://vuepress.vuejs.org/ compiles into quite good looking static sites. As to the hosting I am using Google Firebase Hosting for a small static site which is free for the moment. I am in the process of setting up local hosting on my home fibre.


You can use the Azure blob storage for static websites. Costs maybe 1 or 2 cents. I think you can even hang the free Azure CDN in front of it.


You certainly can, I just set that up myself this week.


For free non commercial projects, definitely netlify (they seem to imply the will remove commercial projects if they so like).

If it's a commercial project I don't see the point of paying a premium for the nice UX, hosting static files is easy enough and I don't have investors' money to waste. I would spend my money on a CDN like BunnyCDN and throw a file server behind it.


I use vercel (or previously zeit). The free plan suits my use cases:

- tls

- github integration (although limited to personal accounts only and NOT org -- which is nutsz but I understand the rationale)

- it also comes with cloud functions, and routing which could be very powerful

I think cloudflare pages with workers offer the same set of features PLUS team and github org integration, but so far I like what vercel is offering


I pay $3/month for a VPS. Probably not the cheapest way to host, and not the smallest vps offered, but I like that I can just ssh into it and do whatever I want, if/when I want something more than nginx, or I want to configure it in a very particular way (both things did happen). The drawback is that running apt upgrade is on me.


Just a reminder you can host a static site or any other kind of site on your home computer. That's the internet folks.


And then you leak your info to whatever malicious site does a port scan to its visitors. I'm highly anti residential hosting


If you have an MSDN subscription (e.g. through work), using your free Azure credits to host a site is a pretty good option.


ask your isp for a static ip address, attach a rasperry pi to your home network, forward port 80 and, if you're fancy, port 443 to the IP of said raspberry pi. Install a webserver (like lighttpd) buy a domain name with DNS hosting, add an A record for your domain to point to previously mentioned static IP.

Was next to free in 1999, still is.


In my country ISPs only give static IPs to business customers. Plans for business customers are 5-10 times more expensive than regular plans.


thats insane, i pay an additional fee of about $5 for it



Plus Cloudflare Pages is in beta too, CloudFlares JAMStack offering to compete with the Netlify and Vercels of the world. https://pages.cloudflare.com/


Raspberry Pi 4, if you live in a country where ISPs actually offer you Internet rather than just download access.


This IMO is a bad bad bad idea. If you host PII on the site, any site you visit will be able to just ping your ip's port 80 and figure out who you are. This exact setup lead to the 2012 LinkedIn hack


Oracle Cloud Infrastructure (OCI) has an Always Free Tier that gives you 2 VMs that you can use to run your own custom setup. (https://www.oracle.com/cloud/free/#always-free)

PS: I work at OCI



I host my personal static site on a vps with nginx. It's a gatsby site so deployment is just yarn deploy, which runs gatsby build and rsyncs the build folder to the server.

Granted, it took some setup to get there, but it's pretty easy now and portable too. Can easily be switched to any other service.


I also use a vps with nginx.

I currently just sftp in to deploy, but it would be pretty easy to set up sshfs so you wouldn't even need to open a terminal if you didn't want to.


I’m just pushing out rendered HTML to Azure Storage fronted by CloudFlare (the Static Web Sites feature takes index.html and 404.html and just works).

Rendering (which is custom and optimized for minimal delta updates) is done on a tiny VM that hosts other services, triggered by a GitHub hook.


How much small print do you accept? How legally reliable do you want it? How much effort do you want to put in?

Without smallprint it's either self-host on a raspi at home + some dyndns (cost near 0, larger initial effort) or EUR 2 per month for shared hosting (in germany).


https://surge.sh

Free.

    npx surge folder


FTP-it to a friends' server.


Seconded. I offered a container to many friends but very few actually take me up on the offer. Server communities are fun, why pay a stranger when you can build something with a friend?


Cloudflare pages offers unlimited sites, requests and bandwidth for free (limited to 500 bilds per month) https://pages.cloudflare.com/


I started using Firebase hosting for side projects. Easy to setup, deploy and free for up to 360MB/day.

https://firebase.google.com/pricing


For static sites, GitHub pages is extremely easy, if you're already using GitHub to host the code. You follow a few lines of code to stick a deploy script into your repository, point your domain, and you're done.


Having just had a site that went to the top of Hacker News and got a very sudden spike of traffic, I'd highly recommend Vercel.

It's super quick to set up, and you can have a mix of static/dynamic content on the same site.


I love https://blot.im/ if you have Dropbox, then there's no deploy. It's just there. You can also use git , of course.


Depending on how you measure cheapness and easiness, I made https://codasite.app

You type HTML and click "deploy." It's free.


GitHub pages:

You can use custom domains with SSL

Here's a full example:

https://github.com/rosshemsley/rosshemsley.co.uk


I use the Cloud Run free tier.

I just build a tiny busybox image and serve the static pages via httpd. It‘s git push to Github to deploy. Obviously not a low tech solution, but was still fun to build.


I’m using AWS Amplify Console and am very happy with it. All pay as you go so it’s super cheap. You can also hook into other AWS services if you want to start expanding capabilities.


Digital Ocean Apps, you get free hosting for a couple static site, you just push to the selected branch.

I use Hugo but they support a bunch of different types.

Digital Ocean is also just super easy to use in general.


Which of those you recommend allow me to password protect some (preview/staging) content both with list of custom users/passwords and integrated with some external SSO ?


It's Netlify. Just point it at your git repo and give it a build command. It has CDN, DNS even lambdas. And deploy per branch. It's one-click setup from github.


I use a single vps from OVH. Something like 5 dollars a month.


Similar thread from a few days ago:

https://news.ycombinator.com/item?id=26556722


I host a Wordpress site on hostinger, shared hosting costs under a buck per month for long term commitment .

No free or cheap , doesn’t have much controls but can’t complain a lot either


I've played with a free .tk domain and use their framed redirect (http only) to point to a itty.bitty.site page. Works transparently as far as a user goes.


Set up a github repo. Buy a domain. Add a CNAME file that has the domain in caps. Deploy github repo to github pages. Go to your domain and see the magic.


AWS has Amplify Console which wraps up static site building, s3, cloudfront, custom domains, pull request previews, etc.

If you’re already on AWS I’d recommend giving it a shot.


Try out Sia Skynet. You can upload with curl and it's very cheap. https://siasky.net


I really like Render


I'm still on HostGator for my smaller sites. I have a DreamHost account, but it's a logger for something, not a publicly visible site.


If you're looking for ease of deployment I think something like org-publish. But that would require some setup - anything would really.


How is org-publish a hosting solution? AFAIK it's a deployment command


GitHub Pages, Netlify, Vercel (former ZEIT) and the non-official winner: surge.sh, the absolute simplest way to publish a static website.


Firebase hosting + Gatsby has been real easy for me


Glitch.com is my go-to static site/tinker w nodejs container. Super easy, generous free sku. Put it behind cloudflare if you need.


It seems that no one mentioned SourceForge so far. I have used it for over a decade. You rsync your html to their htdocs and that is it.


I used to use Heroku for side projects and I recently discovered Netlify and it is definitely super easy to get set up and deploy.


Github pages is almost free, supports SSL, simple as it gets, no need to buy a CNAME and your website might live for ever :-)


I use Site44. It's hosting synced to your Dropbox folder.

Just edit your index.html locally and it's pushed when your Dropbox syncs.


i use Krystal web hosting (uk)

£4.99 for basic account

£9.99 unlimited subsite account (my choice)

No need to run daemons or maintain packages or configure backups

You can configure ssh access to put files

To deploy I use lftp which takes ftp commands from stdin and can do a recursive mput very similar to rsync

so I run my hand built deploy.pl which calls a subscript like this

  time ./scripts/push_to_cdn.pl | lftp


GitHub pages. It's free, you just have to push to a git repository to update it and it allows custom domain names.


Google Cloud run although not free is great for many situations, like if your website is not static and is low traffic.


Vercel. Sign in with Github, push and it's deployed. Probably the best Developer Experience I've ever had.


Google App Engine, anyone?

If you decide to move from static to something more complex, you have bunch of languages to choose from.


Firebase is stupid easy to host static sites on. I think it's like 2-4 cli commands.

Only downside: it's Google.


Surge.sh is probably the easiest and fastest. Host a static site in one command.

I like Netlify for most stuff personally.


Anybody using S3 static hosting? How does that compare to some of these others, specifically on price?


I am, with cloudfront. It’s basically free (less than a domain name, for sure) for small sites. There’s some concern about paying a lot if someone ddos’s the page, since cloudfront is a few pennies per GB transferred to the internet.


I'm a happy Wasabi[1] customer. No egress fees, but to avoid abuse I put a caching proxy in front of it and it's cheap and low maintenance. Publishing is just uploading with standard S3 CLI tools.

[1]: https://wasabi.com/




Question for these recommendations: what type of visitor stats or analytics do they provide by default? If you are using a static site without embedding some analytics, what can they show you (e.g. just overall bandwidth, number of unique visitors, etc.)? I know Netlify just has on their free tier bandwidth per month, last I checked.


My ISP gives me 10MB of free hosting with FTP access.

Doesn't get much simpler than:

ftp-upload -h myisp.net index.html


Firebase Hosting is actually very very easy to use and very "tranditional".


Have you tried yahoo geocities?


I host my .org on Github Pages.


Google Cloud Storage can host static sites and has a free forever tier


I'm trying out Cloudflare Pages, it's pretty good so far.


Github pages is pretty easy if you don't need a custom name.


I wouldn't say jumping through AWS hoop is loads of setup.. but I have 2 static sites with domain setup on AWS with S3 buckets and route53 and they cost about $3 per month in total.

Domain costs are separate but I don't think that belong here.


Vercel is the way to go


AWS Amplify. Free for a year, doesn’t even need to be static.


My Favs: - Cloudflare - AWS s3 - Github pages - Google


For the occasional single static page website I sometimes need to have hosted for a domain, even Blogger does a pretty good job.

Make a new blog on Blogger, switch to classic theme, edit the template, delete everything in that box and cut/paste your HTML. Images can be hosted by making a new blog entry, uploading images to it and saving it as a draft. Once you disable the Blogger top navbar, the theme as a single page website is pretty transparent and works well.


Discovered netlify the other day and wow is it simple


At least for Jekyll, GitHub Pages has been excellent.


Digital Ocean App Platform gives 3 free static sites.


Note the 1G transfer limit per site for free tier: https://www.digitalocean.com/pricing


Has anyone tested out netlify vs cloudflare pages?


I use S3's static site hosting. works great.


strikingly.com is also nice for simple websites which you build with their editor; however not flexible to do custom things or uploads


Vercel is so great


glitch.com


Which ones work with Tor (without captchas?)


Hugo, nearly free speech and a Makefile.


How about OVH with an rsync?


Firebase hosting work well.


Firebase as in Google's Firebase? I guess the SEO is already done for you, but I'm still not sure I'd make everyone talk to Google to visit my site, even if the hosting is free.


Encode html code as Base64, use link shortener, and viola - static page "hosted".


Github pages, handsdown.


Just start bozohttpd.


Vercel is my go-to.


Gatsby with Netlify


github pages, gitlab pages, netlify free version


firebase hosting


Cloudflare Pages


geocities!! ops. sorry, wrong century


Github


git push origin gh-pages


I use https://nearlyfreespeech.net for my static site.

It isn't free -- it is pretty cheap -- but it has a lot going for it. It requires no custom tooling -- I upload via rsync. This makes it trivial to migrate to a new provider if necessary.

I develop my site locally, then rsync it up. I have a custom domain pointed at the site, and also a custom .htaccess, so I have a good amount of control over the site. I do things like serve html without the .html filetype in the url; e.g. https://zck.org/emacsconf2020 is stored on the server as emacsconf2020.html . (I do this so Emacs recognizes the files as html, but keeps the urls clean).

It's a nice tool if you want to get a little involved in your setup, without getting wrapped up in proprietary tooling. It does charge for what you use, so it's not a great site if you are going to host Blu-ray images that get downloaded from everyone on HN.


I have used nfshost for hosting multiple sites for over a decade. They're a fantastic service that's simple, secure, and provides great, fast support.

They recently published this blog post: https://blog.nearlyfreespeech.net/2021/01/19/free-speech-in-...

After reading this, I made the decision to move my hosting elsewhere. I have never hosted content that is even remotely political, and have no intention to do so. I had chosen to patron nearlyfreespeech based upon the belief that their conception of 'freedom of speech' matched my own. I believe 'freedom of speech' is not just a convenient vehicle for expressing my own political ideas, it is an important political idea in and of itself. I believe that the freedom for individuals to express their ideas without censorship is integral to a free and intelligent society. This post of theirs demonstrates that I had clearly misunderstood their beliefs.

It's clear that 'freedom of speech' is a controversial notion in today's society. If they market their service based upon their respect for so-called freedom of speech (it's in their name), I don't know what kind of crowd they expect to come. I came not out of a need, but based upon my political views. I imagine I'm a minority. I'm not interested in a host that markets itself in such a way, and then demonstrates that what they _really_ meant was that they want an environment where you're free to agree with their views.


Thank you for pointing out this blog post. I used NFS for many years but moved away a while ago for opportunistic reasons. However, after reading that post, I will make every effort to go back to them. "Freedom of speech" does not include hate speech or racist speech or any speech advocating against a group of people in my worldview, and I therefore agree 100% with NFS's stance.

All freedoms have limits, agreed to by reasonable people living in a reasonable society. Freedom of speech,is only 'controversial' to people who think limits on racist speech and the like is unreasonable.


Politically incorrect things get labelled "racist" now a days.

I, as a brown immigrant, get to criticize my home country all I want. I can call my home country corrupt, filthy, polluted, no regards for women rights, gay rights, caste system, rapes etc and be totally okay as long as the other person knows I am brown.

But suddenly if a white person or someone with the wrong "political affilitation" says the same things about my home country - they get labelled racist/xenophobic etc when they are speaking the truth.

If I made a website criticizing the corruption or filth or disregard for women or gay rights in my home country, NFS would take down my site - probably until I dox myself and show that it's a brown person running it - then it might become okay.

Political correctness such as this is exactly why the good people in my home country suffer the most. All so that someone in western world or the elite class in my home country can feel morally superior.

And I hate to bring my skin color in a debate but that's the only way to explain how political correctness is making things worse for good people back home.


> I, as a brown immigrant, get to criticize my home country all I want.

Countries are not people, so criticism of a country cannot be racist (it's a category error).

Criticism of people of a country could be racist, but that's a different thing.

Criticism of the government/establishment of a country could be racist, but again that's a different thing.

Unfortunately these three separate things often get conflated and mixed up.


> countries are not people, so criticism of a country cannot be racist

Then how do you explain those reactions? [1] "I'm sorry, but there's no other word one can use but racist".

GP is totally right, nowadays any remote criticism -- and I'm speaking of the factual ones, not the injurious kind mentioned before -- of a foreign country (except China, Russia and NK for some reason) by white people is labeled racist. And of course, people of color are allowed to speak anything they want against European countries, and spread hate speech mostly without any issue (granted one rapper is condamned from time to time... for instance Nick Conrad after singing "hang the whites" [2]).

[1] https://edition.cnn.com/2018/01/12/politics/trump-shithole-c...

[2] https://www.leparisien.fr/faits-divers/ces-rappeurs-qui-defr...


A bit of context,

> "I'm sorry, but there's no other word one can use but racist," Colville said, responding to reporters at a news conference in Geneva, Switzerland. "You cannot dismiss entire countries and continents as 'shitholes' whose entire populations, who are not white, are therefore not welcome."

You missed that second part.

Looks like they’re talking about dismissing the people of those countries just because they are from, what they consider, a ‘shithole’ country/continent.


I did not specify who was conflating/mixing-up these distinct topics, or for what purpose. Racists often conflate countries/governments/populations, which is what Trump did with his "shithole countries" comments. He was referring to the people of those countries, i.e. the pool which immigrants would be members of (or, in his delusional mind, "sent by").

Note that if a country itself were a 'shithole', say for example a war-torn region like Yemen or Syria, that would only help the case for immigrants from that country; since the place they're fleeing is so bad.

> GP is totally right, nowadays any remote criticism -- and I'm speaking of the factual ones, not the injurious kind mentioned before -- of a foreign country (except China, Russia and NK for some reason) by white people is labeled racist.

Citations and examples please (also for the China/Russia/NK criticism; I suspect you're also conflating criticism-of-government/people with criticism-of-country)

> And of course, people of color are allowed to speak anything they want against European countries

What complete and utter total bollocks. Have you never encountered the thought-terminating cliche of "if you don't like it then leave", or its more overtly-racist cousin https://en.wikipedia.org/wiki/Go_back_to_where_you_came_from ?

> and spread hate speech mostly without any issue

I find this use of the word "mostly" to be mostly questionable.


> Countries are not people, so criticism of a country cannot be racist (it's a category error).

Technically true, but practically useless. What is a country other than a group of people? Almost all criticism of a country will inevitably be about people in it or their actions - with very few exceptions (ex. complaints about the geography, weather, etc).


It’s far from useless and even a cursory review will find many examples of criticism which says things about the people of a country being mislead, poorly served, etc. which is different from racist claims that they are innately disposed to be that way. The key part is acknowledging the fundamental humanity of the people you’re talking about – they may make choices we dislike but that’s a decision, not genetics.

For example, I grew up in California and heard a lot about Mexico’s problems — some people would repeat racist claims about Mexicans being lazy (despite them universally hiring undocumented workers for cheap labor) or dishonest, but others would correctly identify problems like corruption being due to things like the huge amounts of money from the U.S. drug trade ensuring that cartels regularly killed off non-corrupt officials, where the system didn’t work well for most people who didn’t have a choice and everyone involved having acting on the options available to them rather than some innate determinism or moral weakness.


> What is a country other than a group of people?

Which group of people? The population? The government? These can be very different (just ask Myanmar)


This is a straw man, legitimate criticism isn't racist and no one says it is.

If your idea of criticism is something like using a slur or stereotypes to make an argument then it is not politically correct.

What's the criticism you want to give but feel like you can't?


> legitimate criticism isn't racist and no one says it is

Free speech means freedom to express “illegitimate” views, “the fullest liberty of professing and discussing, as a matter of ethical conviction, any doctrine, however immoral it may be considered”. No one has reached a universal agreement on what “legitimate” criticism is. Of course there are often prevailing societal opinions, but those change with the society. Eg. the Federalist Papers were largely written by someone who was literally labeled “illegitimate” by society at his time (and were full of slurs, stereotypes, etc.¹). Someone who got killed in a duel — the meaning of civility changes with the civilization. IMO ours is at a fairly high point at the moment (in part because of the value placed on tolerance for differing values), but it’s only a matter of time before it inevitably collapses much like the Greek and Roman ones before it (likely in part because of intolerance for free expression).

¹Eg. stereotyping the Republics of Greece and Italy as “petty” and slurring opponents as “advocates of despotism”. https://en.wikisource.org/wiki/The_Federalist_(Dawson)/9


White people are allowed to criticize the country in the exact same way here too. That’s not the type of stuff we are talking about.


You raise a point that seems to come up increasingly frequently, and it's a good one because it highlights some complexities in the issues.

I don't think you're entirely wrong, but I don't believe you're entirely "correct" either :)

Some brown people can be racist, including towards other brown people, and including those of the same heritage. (I'm not saying that you are.)

Some subset of comments by racists may be categorically true. For example, a racist might decry the appalling rapes and murders that have been reported from India, saying violence towards women in India is a serious and pressing issue.

Isolated statements don't necessarily reveal motivations or underpinning beliefs. A blog post might report "truth", but that might be selective, framed and phrased in certain ways, and so on. So a hosting service necessarily needs to make a judgement call regarding acceptable content, and sometimes this will require looking beyond the content itself to discern motivations.

The motivations of a writer or broadcaster are key. If someone is writing about corruption and endemic violence in a foreign land, why are they doing this? Is it to call attention to the issue so it might be addressed and fixed? Or is it to build a wall?

For what it's worth, I doubt NFS would ban you from writing about the issues you've raised, provided they were constructive. Yes, that's a judgement call, and I think that's inevitable.

The issue of white allies (or cis-gendered, or whatever other area is concerned) is tricky, and frankly I think society is going through adolescence with this. Lots of outrage, lots of polarisation, and this is a shame and unhelpful. I agree that rejection of your allies by authorities that haven't attempted to understand the details is actively undermining, even if it's done with apparently good intentions. Personally, I think this sort of thing happens through fear of attracting outrage, misunderstanding the problem, wanting a simple answer to complex problems, pressure to act quickly and show decisiveness, and so on. Unfortunately this stuff is complicated and complex, and requires care and attention.

Personally I feel that the underpinning issues here are driven by polarisation, and this is what needs to addressed. Anyone who's writing to encourage collaborative solutions to grievous problems is unlikely to be banned by any hosting provider worth its salt. The sort of provider banning such content isn't contributing to a happier world, so should be avoided.


> Political correctness such as this is exactly why the good people in my home country suffer the most.

I think it might be income inequality that makes the good people in your home country suffer the most - but I don't want to assert this because I'm (probably) not from your home country and don't know it quite like you do.


>> "Freedom of speech" does not include hate speech or racist speech or any speech advocating against a group of people

Freedom of speech includes all those things.


>All freedoms have limits, agreed to by reasonable people living in a reasonable society.

That's a deeply flawed stance. The meaning of "reasonable person" changes so often as to be able to mean anything.


Neither you, nor GP knows what kind of speech exactly they were referring to. You're basing your decision on what you think they mean.


Thanks for sharing their post.

As the saying goes there's a difference between hate speech and speech that you hate. It seems like the line between the two is getting murkier everyday with people labeling things that hurt their feelings as micro-aggressions which are a form of "violence" to some people.

I prefer not to support businesses that anoint themselves arbiters of morality.


There's a difference between "freely expressing your ideas" and eg. plotting a vigilante kidnapping.

The former should be protected, the latter should be reported to the police.

A lot of the people who say they want free speech actually have some kind of anarchist fantasy where they can do whatever they want without consequences.

It seems like you care about free speech, not anarchism, so I'm not sure why the blog post offends you so much?

As I understood it, the blog post just makes it clear that "free speech" to them does not mean "lawless place where you can hide from the police".

Nowhere in the blog post does it say that they will only allow content or opinions that they agree with.


Maybe I'm reading too much into it but that blogpost doesn't sound like it's about anarchism or illegal content to me, it's sounds more like them justifying shutting down "problematic" content (like what happened with Gab or Parler). They also have a paragraph towards the end about how they don't want to host "racists".


Why are we letting tech companies become self appointed judge and jury, often forced to do so by online mobs? There's a full legal system to take care of those who actually incite violence/plot kidnapping etc. Nobody is talking about defending them.


Well they're not really a judge and jury, they're reporting you to the police who involve the judge and jury. It's not like the web host is sending anyone to jail. They're just refusing to business with crappy people, which is something all business get to do.


You’re talking about forcing a company like nfshost to help them in their illegal and/or immoral endeavors? Companies have a right to fire customers they don’t like, with a few very well-specified exceptions. You’re trying to take away that right?


The legal system requires companies to do so, not online mobs.


Yea, this is where my line is. I absolutely believe in full free speech. However, i do not believe free speech is the same as a broadcast (televised, viral, etc).

Yes, it's muddy water, but so is everything. There's nuance in threatening to kill someone. However i think we're in a new age, and we need to analyze where free speech changes into coordinated/group-think hysteria.

Which isn't to say that we should tightly control coordinated communication. Rather it's just that i think the two are different, and i think the modern age requires us to recognize that and discuss it.

We're in the age of misinformation. And a nutter yelling on a street corner is one thing, but giving him a TV Show in Prime Time is another. The damage he can do on a street corner? Minimal. The damage when broadcast to the world? That is the concern to me.


It's interesting how free speech is being interpreted and abused for hate speech so often. This isn't as much of a thing in German speaking areas, where it is called freie Meinungsäußerung.

Frei ... Free Meinung ... Opinion Äußerung ... Utterance

It's the freedom of voicing opinions, not any speech even if it incentivises hate crime.


    After reading this, I made the decision to move my hosting elsewhere.
After reading this, I made the decision to use them next time I need a static web host, which is hopefully soon.

Thanks.


That blog post was why I decided to not use them too. Specifically their line about

> "and we have no interest in living in a sea of mayonnaise."

What is that even supposed to mean?? Who refers to people as "mayonnaise"?? While claiming to be against racism??


>Who refers to people as "mayonnaise"??

Racist people I'd guess


The post would have been just as effective without that oddly phrased phrase. It is a strange jab at "whiteness" which, I think, reveals the general attitude of the people running the company. Personally I think they should remove that sentence. It isn't a good look.


I read it as a succinct and derisive dismissal of white supremacist beliefs, particularly racial purity.


[flagged]


[flagged]


[flagged]


Please both of you refer to the rules, specially the part about assuming good intent.


I’m not sure what good intent was meant by calling folks racist.


>racial purity

Not to be confused with the antiracist belief that people shouldn't date outside their race bacause... it's colonialism?


> Who refers to people as "mayonnaise"??

Self-hating white liberals.


This reductionism seems like identity politics at its worst. It sounds like you're saying that anyone who identifies as white (regardless of how arbitrary this race is) must avoid using a term you find disrespectful to describe their race, and doing otherwise means that they are hating themselves?


Funnily enough, arbiters of hate speech are usually quite racist against other minorities but are able to find very nice excuses for themselves and their circle.


Well it did say 'nearly' in the name!


Your comment is exceedingly political. It’s unfortunate you mistakenly feel you are politically neutral and that you represent “actual” free speech, whereas companies who don’t choose to render services to insurrection-plotting fascists and racists apparently only practice “convenient” free speech.

I hope you can step back and evaluate the mistake in your perspective. Number one, you are demonstrating that you care more for politics than for free speech (let alone the fact that your viewpoint literally leads to people being harmed in preventable ways where the prevention methods don’t threaten free speech). Number two, you are trying to define the conversation in a way where you are neutral politically and merely hold up an ideal principle, but that’s very clearly false to huge degree and you’re not admitting the political bias and blinders you are yourself bringing into it.


I've used NFSN for hosting almost-zero traffic static sites for years. But, if it's the cheapest host you're after they're not it.

The pay as you go model they use can mislead you into assuming they cost pennies because you pay small amounts each time, but with a half a dozen sites hosted you can expect to get hit by top up warnings a few times a year.

I've just double checked my email receipts, and I had to top up $60 in 2020 just to keep those static zero-traffic sites up and running.

Standard, bare bones, shared Linux/MySQL hosting anywhere else will rarely set you back more than $40-$50 a year. There's really no commercial reason to choose NFSN.


Is saving $10 over a year worth the time it took you to do the math on that?


Yep NFSN is great. If you have a bunch of static files it's really just `rsync myfiles mywebsite@ssh.phx.nearlyfreespeech.net:` and you're done. No set up, no nothing.


Yeah! The command I use is: `rsync --recursive -vv --delete --filter="protect /.well-known" /path/to/site/on/local/box user_site@ssh.phx.nearlyfreespeech.net:/home/public/`

I add `--delete` to clean up any files I might've created on the box (e.g., to test .htaccess), and then `--filter="protect /.well-known" so that I keep any files related to serving as https.


Another happy long time user of NFS here.

Just thought I'd chime in to add my 2 cents, on the off chance that it helps someone here make an informed decision.

NFS is also great for small MySQL backed sites - for example your Wordpress blog or something similar.

Their pricing model is so transparent and predictable, and the support from Jeff and co is great (their documentation and FAQ is simply brilliant).

Also their domain registration and setup is a breeze - and they have great Whois privacy support.

These guys were doing pay-as-you-use pricing long before AWS came along. We still use (and love) AWS for our extensive production systems, but for simple hosting of smaller projects and / or personal websites, NFS is unbeatable.

Its combination of affordability and ease of use is simply the best.


They’re also quite on the ball with system monitoring. I remember once about 15 years ago when I decided to see if I was able to ssh tunnel a socks proxy through their shell machine (I was curious what would happen) and they had my account suspended within minutes. :D Great job, guys (sincerely). Took me promising never to do it again to get reinstated.


I have also used nearlyfreespeech for years, and I'm very satisfied with the price model and clear, easy-to-use account management pages.

My site is entirely statically-served; I have one script for rebuilding my local copy and a second for rsyncing to my NFS host.


From NFS site:

> Currently we are not tracking (and hence not billing for) extra bandwidth usage. This is subject to change at any time.

What do you do if your small static site gets suddenly HN audience? Do you then pay thousands for the bandwidth?

For simple static sites, I always look at the egress rates and bandwidth caps. For example if you have Wasabi+Cloudflare, then you know the pricing before hand. Wasabi doesn't have egress fees even if Cloudflare were to redirect all traffic for a while to your files.


They say in their FAQ that a typical slashdot/reddit surge costs a typical site under $10. If you keep a $20 buffer you're probably fine, and the worst case is you burn through that and the site shuts off until you put more in.


Having been on the HN frontpage several times with my small static site, it doesn't even show up in my monthly billing reports. The main fluctuation is for when I renew domains.


I also used/loved NFSN, but I have a habit of neglecting pages for years. I have had more than one site go dark for months before I realized they’d run out of budget. Now I use GH pages so I don’t have to think about it.

If you’re actively updating (or just better organized), NFSN is a good choice


For the record, they do have support for email warnings when your balance drops below various thresholds- it's right on the account dashboard.


I came to post the same. NFS does have some email alerts, but if you leave something on NFS and then forget to add funds you may lose it. That happened to me, and I decided never to use them again, because at the end of the day I’d much rather have infrastructure bill me and stay online than require pre-payment and die when the funds run out.

But if you’re sure you’ll never forget to top off your account balance, NFS is okay.


I’m pretty bad at keeping on top of that sort of thing, and their email alerts have kept me on top of it for close to 20 years now. I set email alerts at $5 and at $1 remaining and I almost always ignore the $5 one. I think I’ve gotten the dreaded “your account is out of funds” emails three or four times in that time, and I can have it back to running with a few clicks. I’m pretty darn lazy but I think their system is wonderful. No out-of-sight auto-pay that creeps up in cost, but still relatively easy to manage.


> I do things like serve html without the .html filetype in the url; e.g. https://zck.org/emacsconf2020 is stored on the server as emacsconf2020.html

How do you handle it?


In the .htaccess:

  RewriteEngine on
  RewriteCond ${REQUEST_FILENAME} !-D
  RewriteRule "^((?:.*/)*[^/.]+)$" "$1.html" [NC]


Any reason not to just use

  Options MultiViews
instead?


Mainly because I did not know that existed. I'll have to test it before thinking about switching it out. I wonder if there's some sort of unit test suite for .htaccess configurations -- big changes like this could definitely break something, and my config works for me now.

It does seem like it might be more magic than I prefer in programming, though.


Thank you


I'm a huge fan of NearlyFreeSpeech as well! Its super cheap, has a great user-forum, and just... feels like something I can wrap my head around easily. Love it


NSFN are also a great registrar for those who host elsewhere. I found them way back when GoDaddy was in the news for pulling domains at News Corp's behest when I decided I wanted a registrar that wouldn't do that :)

https://mashable.com/2007/01/25/myspace-godaddy/


I've been using NFSN for over ten years. Most of my sites with them are static, and it's great that when I'm on the front page of HN I never have to worry about anything, it's just business as usual.


I'm pretty fond of them, but their service charges for support gradually add up if you have many sites there. I'm moving some items to a $5 VPS.


Have you looked at using the per-alias document root feature? Depending on your needs, you could host multiple domains and "sites" on one NSFN site using this feature. This makes all of them share certain things and doesn't allow the amount of resilience that separate NSFN sites would allow, but it's an easy way to reduce your costs if your needs aren't very demanding.


Does this service live up to their name? Are they for free speech principles or do they have their own content moderation policies that go above the legal minimums?


You be the judge based on this blog post:

https://blog.nearlyfreespeech.net/2021/01/19/free-speech-in-...

Imo, answer is no. Any site which uses terms like "sea of mayonnaise" to describe people while claiming to be against racism is giving lip service and lacks self awareness.


Wow that is a really disappointing blog post, both for showing they aren’t content neutral and because of its unprofessional tone. Thanks, there have to be better options out there.


render.com


Netlify is really easy. Just drag and drop your static site's folder.


Stay away from Github pages, my entire Github account got permanently suspended becuase I had a pornographic image on my Page. That's not allowed apparently.

I'll stick with Cloudflare for now




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: