Since July 2024 this blog has run on a NAS at home: a virtual machine on a small Intel NUC mini PC, with WordPress running inside it. The short version: it costs far less than hosting, but every bit of server maintenance and security is on me. After more than two years, here is what it cost, how it is set up, and what was good and bad about it.
At a glance
- Cost: 127,570 KRW (roughly US$90) for the first year on Cafe24, a Korean managed WordPress host. At home it is basically the domain (4,400 KRW the first year, 66,000 KRW a year since) plus electricity
- Setup: Intel NUC (i7-8809G) → VMware ESXi virtual machine running Xpenology (Synology DSM 6) → WordPress (PHP 8.3) in a Docker container
- Good: no storage worries (about 8.7 TB), full control over PHP and plugins, photo storage and the blog on one machine
- Hard: updates, security and backups are all yours. In two years, auto block banned more than 17,000 IPs trying to log in to the NAS
- Who it suits: people who enjoy tinkering with servers and can fix things themselves when they break
Why I moved my blog to a NAS
I started on Cafe24’s managed WordPress. Within a month I had moved up a plan twice (Startup → Build-up → Business), and with the domain and SSL certificate added, the first year came to 127,570 KRW. (Not counting the theme I bought.)

I had already built a NAS from a mini PC and a 10 TB hard drive to store my photos, so I thought: if the blog runs here too, there is no hosting bill every year. Why I restarted the blog is in this post, and the move itself, mistakes included, is in my Cafe24 to NAS migration log (both in Korean).
The setup: a NAS and a blog on one mini PC

| Part | What I use |
|---|---|
| Hardware | Intel NUC8i7HVK (Hades Canyon), Core i7-8809G |
| Storage | 10 TB HDD (about 8.7 TB NAS volume, 21% used) |
| NAS | Xpenology DSM 6.2 in a VMware ESXi 6.7 virtual machine (12 GB RAM assigned) |
| Web server | DSM nginx (HTTPS) → Apache + PHP 8.3 in a Docker container |
| Database | MariaDB 10.3 |
| WordPress | 7.1 · 31 Korean posts plus 15 English translations · 14 MB database · about 815 MB of uploads |
| In front | Cloudflare free plan (hides my home IP, country rules, attack blocking) |
| Certificate | ZeroSSL wildcard certificate, renewed automatically every week |
The blog uses far fewer resources than you might think. The load average usually sits between 0.0 and 0.2, and as I write this the NAS has been running for 56 days without a reboot. With the spare capacity I also ran a Minecraft server for my friends. The English pages you are reading run on Polylang; I wrote up how I added them.
Cost: Cafe24 vs a home NAS
| Item | Cafe24 (first year) | Home NAS (first year) |
|---|---|---|
| Hosting | 75,070 KRW (three plans + extra storage) | 0 KRW (NUC and HDD I already had) |
| Domain | 23,500 KRW (.com) | 4,400 KRW (.life, first year) |
| SSL certificate | 29,000 KRW | 0 KRW (ZeroSSL) |
| CDN and security | – | 0 KRW (Cloudflare free) |
| Total | 127,570 KRW | 4,400 KRW |
The lavient.life domain was only 4,400 KRW for the first year, and since then it has been 66,000 KRW (under US$50) a year. From the second year on, renewing it costs more than a .com would, so the yearly cost of running the blog at home is really just this domain. I haven’t measured the electricity, so it’s left out of the table.
If you had to buy the hardware, the maths would look different. I was reusing equipment I already had for photos, so the extra cost was close to nothing.
What was good
No storage or price worries
On Cafe24 I paid even for 100 MB of extra storage. Now the blog shares an 8.7 TB volume with my photo archive, so I can upload high-resolution photos close to the originals without thinking about it.
I can change anything
PHP version, plugins, server settings: I decide all of it. When the NAS operating system only supported up to PHP 7.4, I could work around it by running PHP 8.3 in Docker. Running other services next to the blog is easy too.
I learned a lot
nginx, Docker, DNS, certificates, Cloudflare: running one blog gets you hands-on with all of them, and the process itself turns into blog posts.
What was hard, and what to watch out for
Security is entirely your job
Opening the blog also put the NAS login page on the internet, and in two years auto block banned 17,864 IPs. I wrote up the data in Exposing a NAS to the Internet. On the blog side, WordPress’s xmlrpc.php was getting a login attempt roughly every 20 seconds.
Your home IP is out in the open
If the domain points straight at your home IP, anyone can find that IP with a DNS lookup. I hid it behind the Cloudflare proxy, and the steps are in my home server security guide. For reaching the NAS itself from outside, I use Tailscale instead of opening more ports.
A power cut or internet outage takes the blog down
When the power goes out at home or the internet drops, the blog stops too. For a commercial site this would be the biggest drawback.
Email doesn’t go out by default
Messages from my contact form were arriving, but the notification emails were never actually sent, because the NAS had no outgoing mail settings. If you need email, set it up separately with an SMTP plugin.
Backups are on you too
If the site and its backup sit on the same disk, one disk failure or ransomware attack takes both. Backing up to an external drive or the cloud is something you have to take care of yourself.
Who I’d recommend it to
- People who already have a NAS or a spare PC and enjoy configuring servers
- Bloggers with large media like photos and video
- People who resent paying for hosting and can fix outages themselves
On the other hand, if you just want to focus on writing, or a few hours of downtime would be a real problem, managed hosting or a hosted platform like WordPress.com is a better fit.
Frequently asked questions
Can a blog hosted on a home NAS get AdSense approval?
AdSense reviews your content and policy compliance, not where the server is. You do have to set up the basics, like ads.txt and a privacy policy, yourself.
Won’t my home IP be exposed?
It will if the domain points straight at your home IP. Put a proxy such as Cloudflare in front and visitors only ever see Cloudflare’s addresses. (How I set it up)
Is it fast enough?
Through Cloudflare, the first byte arrives in about 0.3 to 0.5 seconds from Korea. Images are served through the Jetpack image CDN, so my home upload speed matters less.
Does this work on a genuine Synology NAS?
Yes. You can run WordPress with Web Station and MariaDB from Synology’s Package Center, and on DSM 7 the PHP 8 packages are available directly.
This is a translation of my original Korean article: 집 NAS로 워드프레스 블로그 운영하기 – 2년 써 본 비용과 장단점. Last checked: 15 November 2026.
Leave a Reply