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.
"With GitLab Pages, you can publish static websites directly from a repository in GitLab. Use for any personal or business website."
"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 is Netlify and Cloudflare Pages' defining feature, and GitHub has had that for a few years now.
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
* 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.
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.
https://developers.cloudflare.com/pages/migrations/migrating...
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!
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!
> ...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).
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.
For everything else it expects your SPA to handle it.
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.
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...
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."
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.
Or are there reasonable software or hardware options to protect one’s own servers directly without relying on a third party service?
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.
You can configure github projects to source from a different branch (including your main/master branch if you check in build artifacts directly)
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.
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.
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.
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.
- 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
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.
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.
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.
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 :)
(Unless I misunderstood your point.)
https://old.reddit.com/r/selfhosted/comments/8cfwmi/any_uk_p...
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.
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)
Put the free Cloudflare proxy in front just to speed it up a little.
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 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...
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.
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.[1] - https://layerci.com/
Edit: they call it Review Apps (https://devcenter.heroku.com/articles/github-integration-rev...)
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.
"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/...
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.
The SaaS part might have more teeth.
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.
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.
Disclaimer: I work at Vercel, happy to answer any questions.
[1]: http://vercel.com/
Disclaimer: I don't work at Vercel and I'm just a regular guy
[1] - https://neocities.org/
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)
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 .
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 can set up billing alarms and use alarms as triggers for actions.
Also, you might be the main/only site administrator, in which case falling asleep might end up badly for you.
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.
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.
I miss the old days :(
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.
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.
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.)
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?
As IPv6 becomes more widely adopted, there will be no need to conserve IP addresses and everyone can be allocated a block of them.
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"
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.
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 a side project I likely wouldn't bother, but the pricing differential is really damn steep.
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.
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.
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 free private repos and that kind of integration it's a pretty neat setup.
[1] = https://surge.sh/
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/
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 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?
Also you get a little bit of protection from someone sending lots of traffic to make you spend $$$
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.
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.
He clearly needs kubernetes.
I have a system doing 10s-100's of millions of reads a day from s3 with very consistent and fast read times.
If you are hosting a website in s3, please put a CDN with gzip support in front.
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.
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.
You don't even need to create an account, just upload a zip of your files.
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.
Though for production I'd probably use S3+Cloudfront.
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.
Disclaimer: I'm a co-founder
How did it go?
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.
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).
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.
https://www.digitalocean.com/products/app-platform/
"..Build and deploy 3 static sites for free."
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.
I actually started it using myself, because it is so nice to just zip a folder and get it online in ~10 seconds.
- Go to repl.new/html
- Write code
- Hit run, deployed!
- (optional) link domain
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!
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.
You also get a few free static sites as well https://www.digitalocean.com/products/app-platform/
- 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
Please don't upvote or downvote this one. It's more like a "debugging" comment.
[0] https://www.awardspace.com [1] https://firebase.google.com/docs/hosting
You can also tie it with the free plan for Cloudflare Workers if you have some need beyond static pages.
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.
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.
And someone using free plan X at home is more likely to choose Pod plan Y from the same provider for work.
Details here: https://fotijr.com/blog/2020/how-its-made/
[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.
Github basically gives you a free IDE. There's no need to compile as markdown is converted to html on the client side.
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.
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...
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.
Why? Then you can build it locally and push it to multiple sites?
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.
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.
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.
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.
I found S3 static hosting to be fairly straightforward. Once set up, a single `aws s3 sync . s3://my-bucket/path` updates the content.
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.
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.
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.
- 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
Was next to free in 1999, still is.
PS: I work at OCI
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 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.
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.
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).
It's super quick to set up, and you can have a mix of static/dynamic content on the same site.
You type HTML and click "deploy." It's free.
You can use custom domains with SSL
Here's a full example:
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 use Hugo but they support a bunch of different types.
Digital Ocean is also just super easy to use in general.
No free or cheap , doesn’t have much controls but can’t complain a lot either
If you’re already on AWS I’d recommend giving it a shot.
Just edit your index.html locally and it's pushed when your Dropbox syncs.
£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 | lftpIf you decide to move from static to something more complex, you have bunch of languages to choose from.
Only downside: it's Google.
I like Netlify for most stuff personally.
[1]: https://wasabi.com/
Doesn't get much simpler than:
ftp-upload -h myisp.net index.html
Domain costs are separate but I don't think that belong here.
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.
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.
My site is entirely statically-served; I have one script for rebuilding my local copy and a second for rsyncing to my NFS host.
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.
If you’re actively updating (or just better organized), NFSN is a good choice
But if you’re sure you’ll never forget to top off your account balance, NFS is okay.
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.
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.
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 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.
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.
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...
> "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.
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.
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).
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.
Which group of people? The population? The government? These can be very different (just ask Myanmar)
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.
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?
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
Freedom of speech includes all those things.
That's a deeply flawed stance. The meaning of "reasonable person" changes so often as to be able to mean anything.
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.
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.
> "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??
Racist people I'd guess
Not to be confused with the antiracist belief that people shouldn't date outside their race bacause... it's colonialism?
Self-hating white liberals.
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.
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.
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.
Frei ... Free Meinung ... Opinion Äußerung ... Utterance
It's the freedom of voicing opinions, not any speech even if it incentivises hate crime.
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.
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.
How do you handle it?
RewriteEngine on
RewriteCond ${REQUEST_FILENAME} !-D
RewriteRule "^((?:.*/)*[^/.]+)$" "$1.html" [NC] Options MultiViews
instead?It does seem like it might be more magic than I prefer in programming, though.
> 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.
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.
I'll stick with Cloudflare for now