Live data from Hacker News

How I blog with Obsidian, Hugo, GitHub, and Cloudflare

ingau.me

111–120 of 248 posts

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#111

How I Blog with HTML and nginx - Zero Cost, Fully Owned: Step 1. install nginx from repos on my home desktop computer. Step two: write html files and put them in directories under the web root. Step 3. forward port 80 to the webserver internal IP on my router config. Step 4. Link people to http://your.ip.here.a/somepage.html or maybe rent a .com domain. I've been doing it for 20+ years (xitami and thttpd before nginx…

But I’d say “infinite lifetime” only holds as long as your hardware, power, and IP setup stay stable. If your home machine dies or your router resets, things go offline fast.

That’s part of why I prefer hosting the static output somewhere external. Not perfect, but it lets me step away from the setup for months and still have it running.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#112
I've started recently working on setting up the "special" public profile repository in GitHub to be my blog central and wanted to keep the files to a minimum. So, I really like using themes as modules in Hugo, then your blog repository will be just your content directory, go.mod, go.sum, hugo.toml, and any layouts you want to override or add.

    .
    ├── .devcontainer
    │   └── devcontainer.json
    ├── content
    │   └── posts
    │       ├── 1718983133-post-1.md
    │       ├── 1720321560-post-2.md
    │       └── 1740070985-post-3.md
    ├── go.mod
    ├── go.sum
    ├── hugo.toml
    └── README.md
3 directories, 8 files

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#113
Honestly this sounds a bit cumbersome. I built my blog years ago using Puput (https://github.com/APSL/puput) and Render, and it has been running strong with minimal maintenance since then, with hundreds of posts. The software is all open source and free other than the minimal hosting fees.

If I want to do a post, I log in, draft the post in a simple rich-text editor with image support and keyboard shortcuts for formatting, and click "publish." I don't have to fool with anything, there is no chance of sync breaking, and it's instantly responsive.

The back-end is stored in Github, but the posts are stored, with revision history, in a Postgres database that I have full access to.

It's hard to envision a scenario where I'd prefer digging through a git repository to see a previous version of a post rather than just clicking into the CMS site and clicking on the historical version of the post that I'd like to look at, where it is instantly displayed including images. And even with daily blogging, the number of times I've actually looked at a prior version of a post is very low -- probably less than once a year.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#114
post #54

Earlier quoted context omitted.

I really dont agree with "fully owned", you arent running on anything you actually own ie self-hosting. It's all on the cloud , which dont get me wrong, is pretty cool and helpful, but hardly yours.

I’m using “fully owned” more in the sense of control rather than infrastructure ownership. The content lives locally, it’s versioned in Git, and everything’s built with open tools. I can move it to another host any time without being locked into a specific platform or format. I agree it’s not “self-hosted”. But compared to a closed CMS or paid platform, it feels meaningfully more in my hands.

But if they kill your access to those accounts do you have a method to force them to let you back in to get “your” content? Serious question as I self-publish and use a distribution service for my music but I stop short of your claim. I’m an independent rights holder. I don’t own the platforms upon which I choose to distribute my work - terminology does matter and, well, you’re claiming something basically untrue because it sounds cool…that’s my impression.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#115
post #109

Earlier quoted context omitted.

I really dont agree with "fully owned", you arent running on anything you actually own ie self-hosting. It's all on the cloud , which dont get me wrong, is pretty cool and helpful, but hardly yours.

If we're going to nitpick that far they'd need to start an ISP and lay their own fibre too Personally I feel if you can quickly pull out of a provider and host elsewhere with maybe just a config change - aye the data is fully owned, close enough.

Can you make them give it back if they nerf / quash your account? That’s true ownership, in my view.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#116
post #109

Earlier quoted context omitted.

If we're going to nitpick that far they'd need to start an ISP and lay their own fibre too Personally I feel if you can quickly pull out of a provider and host elsewhere with maybe just a config change - aye the data is fully owned, close enough.

Can you make them give it back if they nerf / quash your account? That’s true ownership, in my view.

Git is natively distributed. One would hope he has a local copy of the repo.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#117
post #111

How I Blog with HTML and nginx - Zero Cost, Fully Owned: Step 1. install nginx from repos on my home desktop computer. Step two: write html files and put them in directories under the web root. Step 3. forward port 80 to the webserver internal IP on my router config. Step 4. Link people to http://your.ip.here.a/somepage.html or maybe rent a .com domain. I've been doing it for 20+ years (xitami and thttpd before nginx…

But I’d say “infinite lifetime” only holds as long as your hardware, power, and IP setup stay stable. If your home machine dies or your router resets, things go offline fast. That’s part of why I prefer hosting the static output somewhere external. Not perfect, but it lets me step away from the setup for months and still have it running.

Yes, I do need society to continue existing and for me to not be homeless. I guess I hadn't considered the needs of the unhoused. For them self-hosting is going to be a problem. For everyone else, not a problem. Going briefly offline for a week literally doesn't matter at all. This isn't a business or institutional service. Once you stop trying to fulfill the needs and constraints typical of those endevors you can see just how easy it is.

As for IP, when it changes you can just copy the new IP and stop sending links with the old IP to friends. It's not a big deal. But a domain is nice (either some dyndns subdomain or a real tld with free DNS hosting (and dyndns updates) by zoneedit or the like).

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#118

Great stuff, looking forward to your next blog post in 1 year: “How I rebuilt my blog on…” A fun hobby of mine is Googling “how I built this blog with [next.js/Gatsby/etc etc]” and going to page 10 of the Google results. It’s just hundreds of developer blogs with no blog posts other than the ones announcing how the blog was built.

It's our Hello World of sorts.

I remember someone presenting a development framework and saying something similar to this, "Of course, I used it to build a blogging platform..."

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#119
post #113

Honestly this sounds a bit cumbersome. I built my blog years ago using Puput ( https://github.com/APSL/puput ) and Render, and it has been running strong with minimal maintenance since then, with hundreds of posts. The software is all open source and free other than the minimal hosting fees. If I want to do a post, I log in, draft the post in a simple rich-text editor with image support and keyboard shortcuts for for…

Totally get that. My post was meant as a way, not the way. I already use Obsidian for most of my writing and notes, so this setup just fits naturally into my workflow.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#120
post #70

Earlier quoted context omitted.

Where in the process do you integrate your custom domain (ingau.me) ???

I connect the custom domain in the Cloudflare Pages dashboard. Once the site is deployed, you can assign a domain under Pages > Custom Domains, and since I already manage DNS in Cloudflare, it's just a couple of clicks to route it.

Thanks :)
Post reply on HN