I recently learned enough HTML and CSS to build a cheesy old-web-style personal site, and it's currently hosted on a free static-site service. I also have a small server running Nginx for Jellyfin, plus a few inexpensive domain names. I'd like to move the site to one of my domains, but I'm unsure how to set it up.
I initially tried Hugo because it seemed like a popular option, but nothing appears at http://localhost:1313, and I'm not sure Hugo is even reading the HTML files I copied into its folders. It also seems to expect me to choose a theme, even though I already spent a lot of time creating my own layout. The documentation feels fairly advanced, so I'm wondering whether there's a simpler tool or a better way to understand what I should be doing.
4 Answers
You probably don’t need Hugo at all. It’s mainly for generating pages from Markdown and templates, so putting completed HTML files into it isn’t really how it’s designed to work. Since your site is already hand-coded, the simplest option is to serve that folder directly with Nginx. You can always add a generator later if you eventually want blog posts, reusable templates, or other automation.
If you don’t want to expose your home server or maintain Nginx, a managed static host is another easy route. Services such as Cloudflare Pages, Netlify, or GitHub Pages can deploy a plain HTML/CSS folder and connect it to a custom domain with automatic SSL. That’s often less work for a small personal site.
Add a separate Nginx server block for the new domain and point it at your site directory. For example:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
After enabling the configuration, run `sudo nginx -t` to check it, then reload Nginx. Put your HTML, CSS, images, and other assets under `/var/www/example`. Once the domain resolves to your server, Certbot can add HTTPS with a command such as `sudo certbot --nginx -d example.com -d www.example.com`. You can copy the files over once, then use Git or rsync for future updates.
Keep your existing page paths if possible, especially if anyone already has links to them. If a page’s address has to change, set up redirects rather than leaving the old URL broken. Also, you don’t need to abandon the handmade layout just because you switch hosting—the files can be served exactly as they are.

Related Questions
How to Build a Custom GPT Journalist That Posts Directly to WordPress
Cloudflare Origin SSL Certificate Setup Guide
How To Effectively Monetize A Site With Ads