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.