1 nill.dev構築物語
始まり始まり
2026年4月のある日の事だった。
会社のサイトやシステム構築、その他デザイン業務などを淡々とこなす日々。
それによる日々たまるストレス、壊れていく社長さん(?)、暴れるモンスター(ベンガル)、そう限界に達したのである。
何か自分のためだけの作業をしたいと、誰にも指示されず好き放題やりたいなーと!あと、作業の記録や、イラストなどをどこかに残したいなーと。なら久々に自分のサイトを制作するかとなった次第。
どういったサイトを作るか(要件定義)
制作するにあたってまずはどんなサイトにしたいのかを考えようのお時間。
地味にこれが難しく、色々悩ましい・・・。
さしあたってサイトに載せたいものを考えた。
- AIで制作したイラストを展示的なー?
- サーバー構築とかの記録残すか・・・?
- ポンコツ社長を世界に広めるしかない(?)
- うちの猫のかわいさを記録しておこう。
- SNSて気楽さがないから、気楽にぼやこう。
なるほど、この内容であればギャラリーとBlog的な感じのサイトが適切かな?となったので、これぐらいなら楽に作れそう!と大きな間違いを犯していた・・・。
何で作ろうか(技術選定)
作る内容をきめたので、次は何で作るかが超大事!
どうせやるなら新しい事をしたいなってのがあるので、それを前提に検討。
検討のために、claude.aiに上記の要件で話したら・・・
WordPressを進めてきおった!!
そうじゃない!そうじゃないんよ・・・それは2026年現在一番ないでしょ!!
てことで、いくつか話し合った結果候補がいくつか出てきました。
claudeが進める用途別おすすめの組み合わせ
| やりたいこと | おすすめ |
|---|---|
| とにかく保管・整理を楽に | Immich |
| 外に見せるギャラリー優先 | Lychee |
| 画像+テキスト両立 | Astro + Linode Object Storage |
| 全部一本で済ませたい | Piwigo(妥協点多め) |
ふーむ?出てきた内容が用途が偏りすぎ、デザインの自由度が低いなどで没いや滅
それから、更に検討して出てきたのが、AstroとNextJS。
さすがに個人サイト規模でNextJSは非常に面倒でしかないのでこれは却下。
残るはAstroになったわけで、静的なのは非常に良いのだけれど、
実際更新頻度とか考えるとAstroオンリーは非現実的すぎてるので、CMSは必要でしょうとなり、再度再選定した結果出てきたのが以下の内容。
| 向いてる用途 | 画像の扱い | |
|---|---|---|
| Ghost | 文章メイン | △ 制限きつい |
| WordPress | 何でも | ◯ プラグインでR2に逃がせる |
| Astro(自作) | 自由度最高 | ◎ 完全自由 |
あー、GhostねGhost興味あったのよ。セルフホスト版もあるし、Headlessもいけるしで、Astroでフロントエンド作って、Ghostをバックエンドにすれば良くない?
両方とも使った事ないし、Ghost単体だとテンプレート依存になるのは微妙だけど、そこはAstroを使えばデザインは思いのままに自由自在←これすごく重要
そんなわけで、Astro+Ghostで行くことに決定。
両方未経験だけど、駄目ならあきらめてGhost単体にするとかにすればいいかと。
VPSをどうするか
VPSを決めるにあたって、まずはGhostがどれぐらいのスペックが必要か調査
| 最低 | 推奨 | |
|---|---|---|
| RAM | 1GB | 2GB |
| CPU | 1コア | 1〜2コア |
| ストレージ | 20GB | 40GB |
ほほー。2GBプランでやすいとこ探せばよさそう。
そんなわけでー、次はVPSを選定しましょう。
| Hetzner CAX23 | EU | €4.49〜 | 遠い |
| Hetzner CPX11 | シンガポール | €7.90 | まあまあ近い |
| さくらのVPS | 東京 | 660円〜 | 最速 |
| Vultr | 東京 | $6〜 | 速い |
さくらはちょっとないかな・・・あまり良いイメージがないので。
Vultr悪くないけどちょっと高いし、Hetznerが5ユーロ未満(840円程度)と安く、RAM4GBにvCPU2と要件を満たしていて、リージョンはドイツになってしまうが、個人用途なら速度はさほど気にしないので問題ないっしょと決定。
そして、初めての利用なのでまずはアカウント登録。
アカウント登録は特に難しい事もなく、コンソール画面に到着。
そして、そこで警告文が...えーっと何々「あなたが実在してるかうさんくさいから実在証明の手続きして」(超意訳)、ほほーん、海外VPSよく使うけど初めての出来事だなぁと思いつつ進めると...。「パスポートを登録してね♡」
・・・終わった、そう終わりなんだよ!パスポートあるわけねー。
いや厳密にはあるけど、コロナ禍になって海外いかなくなったからパスポート更新なんてしてないから、3年前に有効期限切れてるよ!!!くそがっ!!!
そんなこんなで諦めて、再度VPS選びへ。
もうなんかちょっと面倒になってきたんで、最近イケてると人気のDigitalOceanでいいかと、アジア圏はシンガポールにしかリージョンはないけど十分すぎる。
金額は$12と高い...たっけぇな。え、こんなしてたっけ。
スペックは1vCPU 2GBRAM Disk50GBといった感じでHetznerが無念で仕方ない。
まとめ
技術:Astro+Ghost
VPS:DigitalOcean 1vCPU 2GB RAM Disk 50GB
といった結果に。
ちょっとサーバー$12はやりすぎた感じがする。
円高にならんですかね・・・。
今回はここまでー。
[[eng]]
[title: 1. The Story of Building nill.dev]
And so it begins
It all started on a day in April 2026.
I was going through my usual routine of quietly handling company websites, system builds, and various design work. Meanwhile, the daily stress kept piling up, the president was slowly falling apart (?), and a certain Bengal cat was wreaking havoc.
Needless to say, I had reached my limit.
Figuring out what kind of site to make
Before starting the project, it was time to think about what kind of site I actually wanted to build.
This turned out to be surprisingly difficult, and I went back and forth on it quite a bit.
So first, I made a rough list of the things I wanted to put on the site:
- Maybe a place to show off AI-generated illustrations?
- Maybe I should keep records of server setups and other tech stuff...?
- Maybe I have no choice but to introduce my hopeless boss to the world (?)
- I should definitely keep a record of how cute my cats are.
- Social media doesn't really feel casual anymore, so maybe I want a place to ramble more freely.
At that point, I figured, "Okay, if that's the kind of content I want, then a gallery + blog-style site should work."
And that was where I made a huge mistake.
I thought, "This should be simple enough to put together."
So I ended up deciding, "Alright, maybe it's time to make my own site again."
What should I build it with?
Picking the tech stack
Now that I had decided what kind of site I wanted to make, the next big question was: what should I build it with?
If I was going to do this at all, I wanted to try something new, so that became the starting point for everything.
To help think it through, I talked to Claude.ai using the requirements above, and then...
It suggested WordPress.
No, no. That's not it. That's really not it. Out of all the options, that felt like one of the last things I'd want to pick in 2026.
So after a bit more discussion, a few candidates came up.
Claude's recommended stacks by use case
| What you want to do | Recommended |
|---|---|
| Make storing and organizing as easy as possible | Immich |
| Prioritize a public-facing gallery | Lychee |
| Handle both images and text | Astro + Linode Object Storage |
| Do everything in one system | Piwigo (with a lot of compromises) |
Hmm.
But the suggestions felt too narrowly focused on specific use cases, and a lot of them didn't offer enough design freedom, so most were ruled out pretty fast.
After more digging, the two main candidates that remained were Astro and Next.js.
But honestly, using Next.js for a small personal site sounded like way more trouble than it was worth, so that one got rejected pretty fast too.
That left Astro.
Static generation is great, no question about that, but once I started thinking about how often I'd realistically want to update the site, an Astro-only setup felt a bit too impractical. So I figured I'd probably want a CMS as well.
After rethinking things again, I ended up with this shortlist:
| Platform | Best for | Image handling |
|---|---|---|
| Ghost | Writing-focused sites | △ Pretty limited |
| WordPress | Anything | ◯ Can offload to R2 with plugins |
| Astro (custom-built) | Maximum freedom | ◎ Fully flexible |
And then I thought: "Oh, right. Ghost."
I'd actually been curious about Ghost for a while. There's a self-hosted version, it can work headlessly, and once I realized that, I started thinking:
Wouldn't it be nice to build the frontend in Astro and use Ghost as the backend?
I had never used either of them before. Using Ghost by itself felt a little too dependent on templates for my taste, but if I used Astro for the frontend, then I could design things exactly how I wanted.
And that part was extremely important.
So that's how I ended up deciding to go with Astro + Ghost.
I had zero experience with either one, but I figured that if it didn't work out, I could always fall back to Ghost on its own.
What to do about the VPS
Before choosing a VPS, I first looked into what kind of specs Ghost actually needs.
| Minimum | Recommended | |
|---|---|---|
| RAM | 1GB | 2GB |
| CPU | 1 core | 1–2 cores |
| Storage | 20GB | 40GB |
Alright then. Sounds like I just needed to find a reasonably cheap plan with at least 2GB of RAM.
So next up: picking a VPS.
| Provider / Plan | Region | Price | Notes |
|---|---|---|---|
| Hetzner CAX23 | EU | from €4.49 | Very far away |
| Hetzner CPX11 | Singapore | €7.90 | Fairly close |
| Sakura VPS | Tokyo | from ¥660 | Fastest |
| Vultr | Tokyo | from $6 | Fast |
Sakura was probably out right away. I just don't have a very good impression of it.
Vultr didn't seem bad, but it was a little pricier, while Hetzner was under 5 euros (around 840 yen), gave me 4GB RAM and 2 vCPUs, and met the requirements comfortably. Sure, the region would end up being Germany, but for a personal site, I figured speed wouldn't matter that much.
So I decided on Hetzner.
And since it was my first time using it, I started by creating an account.
The signup itself was easy enough, and I made it to the console without any trouble.
And then I saw the warning message...
Something along the lines of: "Hmm, you seem a little suspicious, so please prove that you are a real person." (Extremely loose translation.)
I thought, "Huh. I use overseas VPS providers all the time, but this is a first."
So I kept going.
And then it hit me:
"Please upload your passport ♡"
...
It was over. That was the end.
There was no way I had a valid passport ready.
Well, technically I do have one, but I stopped traveling abroad during the pandemic, so I never renewed it. Which means it expired three years ago.
Are you kidding me.
So after all that, I gave up and went back to picking a VPS again.
At that point I was honestly starting to get a little tired of the whole thing, so I figured I might as well go with DigitalOcean, which seems to be one of the more popular and well-regarded options these days.
The only Asia region is Singapore, but that's more than fine.
The price, though, was $12. That is... not cheap. Wait, was it always this expensive?
The specs were 1 vCPU, 2GB RAM, and 50GB disk—perfectly usable, sure, but I still couldn't help feeling bad about losing out on Hetzner.
Summary
So the final result was:
- Tech stack: Astro + Ghost
- VPS: DigitalOcean / 1 vCPU / 2GB RAM / 50GB Disk
Honestly, paying $12 a month for the server feels a little excessive.
Could the yen maybe get stronger already...?
That's it for this one.