
Ask HN: Do you blog under your own domain? How? - gtrubetskoy
I&#x27;m put off by increasing centralization (I won&#x27;t name companies, you know them) and would like to know who still does it &quot;old school&quot;, hosting their own blog. I&#x27;m especially interested in the technology behind it.<p>E.g. mine is grisha.org and it&#x27;s hosted on github pages and behind cloudflare which is how I get SSL. Cost: $0. The blog itself is Octopress and it&#x27;s kind of aging, I might look at Hugo next if&#x2F;when I have time.
======
staysaasy
Hey there! We use the following setup for our blog (link in profile if you're
curious). I did a lot of research on this setup and think it's one of the best
stacks to use provided that you're technical:

    
    
      - Our site is built using the static site generator Jekyll (https://jekyllrb.com/docs/). We use the Hydeout theme (https://github.com/fongandrew/hydeout) + some additional CSS styling, but you can really use anything. 
      - Gitlab pipelines for continuous deployment
      - GoDaddy for domain management
    

Pros:

    
    
      - Fast out of the box.
      - Simple to get set up (on the order of hours to get production-ready with full CI/CD!)
      - Flexible (you can customize Jekyll all you like if you know a modicum of CSS - tons of control). 
      - Managed and versioned in Github, collaboration and updates are a breeze.
      - Free
    

Cons:

    
    
      - You need to be technical, but that's probably not an issue for the HN set.
    

We tried Medium and Blogspot as well. Medium looks great but the ecosystem is
somewhat hostile, and Blogspot looks ultra dated. Wordpress is probably great
if you're a Wordpress expert, but for us as engineers it was actually easier
to just use Jekyll.

------
theandrewbailey
Yes: [https://theandrewbailey.com/](https://theandrewbailey.com/)

1\. Namecheap DNS registration.

2\. Server is an old PC in my basement.

3\. Dynamic DNS client running on my OpenWRT router.

4\. Code is a homemade blog system. Linux, Java (Servlets + JSP + EJB),
Payara, PostgreSQL.

5\. Uses a Let's Encrypt certificate.

It's totally old school, but fun to play with, and it serves pages fast.

------
axegon_
I feel you as far as centralization is concerned.

Personally I've been meaning to start writing for some time now but I keep
kicking the can down the road for multiple reasons.

Problem 1: Lack of time, other more important things that I need to take care
of and basically life in general - I've had serious time constraints during
the last few years. Which I have been able to considerably improve lately.
Which is completely unrelated to the lockdown and has more to do with me
figuring out how to organize everything and catch up. And ultimately I've been
looking into starting again lately.

Problem 2: The absence of a decent platform: I really don't want to deal with
maintaining a database or a server for the purpose of serving text and images.

Problem 3: sphinx, hugo, and all other static site generators, while great,
are not self-contained and a huge overkill imo for a personal site/blog.
Meaning that managing them on the go is still painful - I'd have to setup a
ci/cd to manage them, which I feel is the same as having a database and a
server somewhere.

So I tried to somewhat fix problem 2 and 3 and built something from scratch
myself - a small dartlang-based site(as I've stated a million times, i abhor
javascript with a passion and just seeing it makes me vomit), which operates
with either html or markdown pages, simple href and routing. The point is that
at any given time I can unlock my phone, ssh into any of my servers, add a .md
file, add a link, commit and push and forget about it.

I've been meaning to open-soruce the whole thing and if someone's interested
they can use it. All in all, the end result is a transpiled js file from dart,
which is ~90kb gzipped, an index.html and a yml file which allows you to
customize stuff.

If anyone is interested, you can have a look at
[http://axegon.com](http://axegon.com).

~~~
cyberpip
Would love you to elaborate on how you organize and catch up - it's a constant
battle. I get a LOT done but I definitely sacrifice other aspects of life in
the name of getting things done.

Back on the topic of blogging, I agree with your points about maintenance. I
think if the goal is purely writing and having it be accessible on the
internet, html and a minimal amount of css are going to have the lowest
overhead, best performance, be portable, and be easiest to maintain, won't it?
It depends on if you want extra functionality of course but if the intention
really is just to write, html works fine?

~~~
axegon_
Oh boy, this is a long one and a bit off topic but oh well...

> I definitely sacrifice other aspects of life in the name of getting things
> done.

You kind of nailed it. It's just a question of what kind of sacrifices you're
willing to make. In my case, at a young age(20-ish) due to a million and one
reasons(parents far away and unable to help, those supposed to be "close" to
me stabbing me in the back without any hesitation whatsoever), this became my
personal life. It sounds pretty sad that I spent most of my 20's buried in
work but long-term, if that hadn't been the case, my mind cannot even begin to
imagine how I would have been able to handle everything that came after that.
And even till this day, sacrificing my personal life is always the simple and
obvious choice, at the expense of some occasional gloomy moods of course. As a
side effect, I became very self-sufficient, which does come in handy when
someone close to me is facing a problem - I can give a hand. It also pushed me
to develop some extreme pedantism which would make the stereotype for German
pedantism look like child's play. But one of the most crucial things I do is I
spent 30 minutes before bedtime reviewing all my todo's, appointments,
arrangements and issues, 15 minutes of which I spend sorting them by priority:

1\. Critical - near life and death situations, forget sleeping, eating or
showering, tackle as soon as I finish the list.

2\. High - Something that needs to be resolved within the next 2 days.

3\. Medium - Can hold for a week but get to them asap.

4\. Low - Completely trivial but annoying stuff like being out of coffee.

The next 15 minutes I make a plan about each of the things on the list, and
set alarms, notes, reminders and routes if that involves going somewhere.

On the subject of notes - English isn't my first language, however unless any
of the things on the list are strictly local, all notes are in English, even
the coffee shortage: more resources online, easier to search and get informed
if needed. I can't tell you how much time that has saved me.

As soon as priorities of type 1 and 2 are clear, life can proceed as normal.
Now that you made me think about it, this process might have taught me to
build incredibly elaborate and complex plans with little to no effort and
being incredibly flexible. I really hadn't thought about it but there might be
something to this, who knows... Bottom line is, despite a number of brutal
challenges in the last several years, those few simple rules have kept me
sane, have helped me solve all of them while staying healthy and fit. And at
the moment I can honestly enjoy my weekend.

\---

As for the blogging, and clean HTML - yes and no. It is definitely the easiest
to setup and get running, I agree. But if I'm on the go and the only thing I
have on me is my phone, writing HTML over ssh isn't really ideal. Which is why
I built this - it renders markdown as HTML out of the box, so adding something
is as easy as creating an .md file, adding a link, commit and push. This will
take you 10-15 minutes to set-up but it renders well on all devices I've
tried, and has absolutely 0 maintenance required afterwards.

------
h2odragon
I use Pelican ( [https://blog.getpelican.com/](https://blog.getpelican.com/) )
and host on NearlyFreeSpeech (
[https://www.nearlyfreespeech.net/](https://www.nearlyfreespeech.net/) ) for
my blog, [https://snafuhall.com/](https://snafuhall.com/) .

I don't have much traffic; the blog and email/etc runs less than $10/mo.

It's _possible_ to lease a bare IP range and set up your own DNS servers, etc.
For small amounts of traffic theres no reason you couldn't use a RasPi to
serve a blog that way. There's also drawbacks and headaches that make renting
someone else's stuff attractive.

------
rahimnathwani
Build+host: Netlify

Version control: GitHub

Editing: Netlify CMS or nano+git

I started setting this up from scratch using Gatsby, but then realized it
would be much better and also easier to use this starter:

[https://www.gatsbyjs.org/starters/alxshelepenok/gatsby-
start...](https://www.gatsbyjs.org/starters/alxshelepenok/gatsby-starter-
lumen/)

It is as easy to set this up, as it is to install LAMP+WordPress on a VPS.

------
teekay
I use Eleventy for my technical blog, and self-hosted Ghost for my tango music
blog. I plan to migrate from Ghost to Eleventy such that my website is 100%
static.

Eleventy is great for me because it's written in Javascript and I use
Javascript every day for work. Very fast and capable. Can't say how it
compares to other static site generators because it's the first one I've used.

My setup includes nginx and Letsencrypt, and that's pretty much it. The Ghost
blog uses a SQLite database.

I wouldn't blog on any third-party service since they could kick me out
anytime for any reason. My website is my digital garden. I don't monetize it,
don't run ads there, don't sell anything. No reason to run it anywhere but on
my own server.

------
elamje
Unbeatable platform is [https://repl.it](https://repl.it)! You can edit code,
deploy, host, and set up custom domains all from the same browser page. And
it’s FREE!

I host my custom HTML and CSS blog there and it’s great!
[https://www.towardssoftware.com](https://www.towardssoftware.com)

More importantly it’s all just basic files I can export to another platform if
repl.it gets acquired or shuts down. They can host a basic HTML, css and js
blog, however I choose to use python flask because I like the templating and
simple routing.

------
BjoernKW
WordPress (the self-hosting, WordPress.org flavour). Works like a charm. It's
flexible, easy-to-use and performs very well on a mid-range virtual host. It's
also reasonably secure if you apply common sense and best practices (e.g. use
complex passwords) and don't install plugins indiscriminately.

There are plugins for every feature you could possibly need.

You admittedly have to put in some time for researching and comparing those
and not fall for the temptation to install the first plugin you come across
for a particular feature.

------
XCSme
I already had a PHP site so I wanted an easy way to integrate a blog in my
site. I ended up creating a micro-blogging library[0], which just renders
markdown as blog posts. The advantage is that there is no build step, you only
write markdown files (VSCode has live-preview by default for markdown) and you
have easy versioning as markdown is just text.

[0]: [https://github.com/Cristy94/markdown-
blog](https://github.com/Cristy94/markdown-blog)

------
jamieweb
A pair of $5 cloud servers and a Cloudflare load balancer for resiliency.

Ansible is used to build and maintain both servers, and the actual web content
is in Git.

I use `receive.denyCurrentBranch=updateInstead` in the repo config on the
servers, so I just do a push to each and the new content goes live instantly.

The reason for doing it this way is that I want to fully own my platform. I
have fine-grain control over all of the web server headers, PHP configuration,
etc.

[https://www.jamieweb.net/](https://www.jamieweb.net/)

------
doersino
I use Uberspace [1] – they're a Germany-based shared hosting provider with
proper shell access, a pay-what-you-want model and they're generally very
nerd-friendly – to host a fairly basic Jekyll blog [2], among other things.

The domain is managed via Hover [3].

[1]: [https://uberspace.de](https://uberspace.de)

[2]: [https://excessivelyadequate.com](https://excessivelyadequate.com)

[3]: [https://www.hover.com](https://www.hover.com)

------
lukaszkups
I generate my website via me very own static site generator I've built for fun
(and still working on it to make it open source for others to use).

The hosting is my local provider, I sent updates via FTP (oldschool huh?) and
keep my website behind cloudflare to save some bandwidth.

[https://lukaszkups.net/notes/](https://lukaszkups.net/notes/)

------
ybbond
I host my site for $5 per month on DigitalOcean.
[https://ybbond.dev/](https://ybbond.dev/), also git.* and rss.* subdomain. I
use LEMP stack because the rss one needs PHP and MySQL, while the main site
built with Hugo. All use LetsEncrypt.

Some of my subdomains hosted on netlify, because I won’t bother myself
installing node.js on my server.

------
wodenokoto
That’s a great question!

How: github pages. How, you ask? I don’t know. I set it up once, and now when
I log in to github it tells me I set it up wrong and I should set it up again
correct. I don’t know what I did or how to do it correctly - but visiting my
domain works, so I don’t dare to fix what isn’t really broken.

So I guess you don’t need to know what you’re doing to host a static site on
your own domain :)

~~~
rgibert
[https://help.github.com/en/github/working-with-github-
pages/...](https://help.github.com/en/github/working-with-github-
pages/managing-a-custom-domain-for-your-github-pages-site)

Short is create a CNAME file in your site repo with your custom DNS in it,
then add a CNAME in your DNS pointing to the GitHub pages DNS.

------
vulcan01
I run Sovereign [1] on a Vultr VPS, $5/mo. Flask on Apache for blogging.
(Sovereign is "a set of Ansible playbooks to build and maintain your own
private cloud: email, calendar, contacts, file sync, IRC bouncer, VPN, and
more.")

[1]
[https://github.com/sovereign/sovereign](https://github.com/sovereign/sovereign)

------
8589934591
Namesilo DNS. Hosted on Netlify pointed from private gitlab repo. Hugo SSG.

I like your blog :) Subscribed in RSS.

OTOH, writing content is a challenge for me. If I try to start writing a
tutorial, there seems to exist many others, with some of them being very high
quality content. In the end it becomes futile to figure out what to write.

Would appreciate any tips to start writing about something.

~~~
gtrubetskoy
My take on it is - just write for yourself. If, when you read it, it sounds
like a good write up to you for whatever your own reasons are, that is all
that's required. If no one else reads it, fine. But you might be surprised, a
lot of other people may find it interesting as well :)

------
nickdothutton
Generated by Hugo, hosted on smallest AWS LightSail, own domain. Uses nginx,
Lets Encrypt, FBSD. Auto-updates everything and if something breaks it breaks.
1000 days and zero maintenance. [https://blog.eutopian.io/the-
stack/](https://blog.eutopian.io/the-stack/)

~~~
antaviana
If these are static pages, why not S3 + CloudFront + ACM certificate?

This way you don't have to risk it may break and if it is a low traffic site
it might be cheaper.

------
marssaxman
My blog still technically exists, though I haven't posted in several years. It
lives on an instance of wordpress hosted by pair.com. I'm not sure if that's
what you mean by "hosting their own blog", but I own the domain name, so I
could move it somewhere else if I ever wanted to.

------
houqp
Mine is managed using Github, generated using Hugo and hosted using netlify.
Also costs $0 other than the domain name, which I use for other purpose as
well.

You can check it out at:
[https://about.houqp.me/posts/](https://about.houqp.me/posts/)

------
dglass
My blog is built using Jekyll and the code lives in a private github repo. I
use Netlify for hosting and SSL. Total cost is about $9 per year to renew the
domain.

[https://www.exponentialbackoff.com/](https://www.exponentialbackoff.com/)

------
soulchild37
Yes, I used Ghost for my blog, and hosted on DigitalOcean, and domain gotten
from namecheap.

Monthly server cost is $5, Domain cost $15 a year

If you are interested to check it out, [https://fluffy.es](https://fluffy.es)
(iOS development mainly)

~~~
XCSme
Doesn't having a regional domain name (.es) affect SEO and user expectation? I
thought the website is in Spanish.

------
otras
I do something very similar, although I hesitate to claim that I’m doing it
old school. I use a Hugo blog hosted on GitHub pages, and my biggest expense
is paying ISNIC (the Icelandic domain registry) for a .is site that works well
with my last name.

------
DoreenMichele
I blog via blogger.com. You can use your own domain name with a blogger site.

I do so for some things.

------
rraghur
Https://blog.rraghur.in

Gitlab pages with custom domain. Ssl from lets encrypt. Domain managed by
cloudflare.

Static site with Hugo and I use asciidoctor for authoring entries

Let's encrypt cert renewal is via a cron job running on rpi in my home network

------
doomrobo
I have a Digital ocean droplet that costs me $5/mo. I host a static site at
[https://mrosenberg.pub](https://mrosenberg.pub) using Jekyll, nginx, and Lets
Encrypt.

------
hopesthoughts
I've been using the self hosted version of WP for about 15 years now. That
being said I'm always willing to test new services.

------
softwaredoug
I use Jekyll and netlify through github. It’s a pretty seamless setup.

Like you I don’t want my content locked up a proprietary site or platform like
medium.

------
5986043handy
I use [https://www.11ty.dev/](https://www.11ty.dev/) \+ Netlify

------
cixter
Blixhavn.dev

I run a Ghost installation on a Debian VM, reverse proxied through Nginx and
set up with Let's Encrypt.

------
rurban
Simplier than yours. Just hugo on github pages. Good enough, and much better
than Octopress.

------
zn44
I didn’t post anything yet but I’ve recently set up a blog using Hugo, s3 &
cloudfront

------
BorisTheBrave
Wordpress hosted on Dreamhost.

I used to run Drupal, but it wasn't worth the effort.

------
quickthrower2
I use Perl and the common gateway interface on a 386 desktop pc.

