i didn’t really plan this to turn into a whole journey.
i just wanted a simple portfolio online.
but somehow it ended up being me fighting linux, hugo, nginx, and dns for hours 😭
starting point Link to heading
i had a VPS sitting there doing nothing.
so i thought:
“okay let me just put a portfolio on it”
simple idea. bad assumption.
choosing hugo Link to heading
i went with Hugo because it looked fast and lightweight.
installed it, picked a theme (hugo-coder), and expected everything to just work.
it didn’t.
the blank page phase Link to heading
at first, the site just showed nothing.
no proper errors. just a blank page like it gave up on life.
then random errors started showing up:
- missing layouts
- missing partials
- theme not loading properly
- config issues
i didn’t even know where to start fixing it.
version problems (this was the real issue) Link to heading
at some point i found out i was running an old Hugo version.
like seriously old.
that was basically breaking the whole theme silently.
once i updated Hugo to a newer extended version, things started making sense again.
theme + config cleanup Link to heading
after that, it was more about fixing structure:
- correct config file setup
- fixing content folders
- creating about/projects/blog pages
- fixing avatar image path
a lot of small things that quietly break everything if one detail is wrong.
nginx setup Link to heading
once Hugo was finally building properly, i moved to deployment.
installed nginx and realized something important:
you don’t “run” Hugo on the server.
you build it once, then nginx serves the output.
that clicked way later than it should have.
domain setup Link to heading
then i connected my domain using DNS A records.
pointed it to the VPS IP and waited for it to propagate.
this part was surprisingly the least painful.
final result Link to heading
now everything is working:
- portfolio is live
- theme is working
- blog system is ready
- domain is connected
- server is stable
it took way more effort than expected, but it works.
what i learned Link to heading
this whole thing taught me a few things:
- simple projects become complicated fast on real servers
- versions matter more than you think
- static sites are easy only after setup, not before
- debugging is basically 80% of the work
anyway… it’s live now.
finally.