Deploy
Empty repo to a live custom domain on free plans: a step-by-step guide
This walkthrough takes you from an empty folder to a live site on your own domain with HTTPS, using free plans. It also covers the two DNS details that cause most "it does not work" moments.
By AltFTool editors · 01 Nov 2026 · 6 min read
What you need
A Git hosting account and a domain. If you do not have a domain, a free community subdomain such as is-a.dev or eu.org works the same way here, because the DNS steps are identical.
Many static and frontend hosts offer a free plan. Check each host's sign-up page for whether it asks for a card, since this changes over time.
Push your project to Git
Create a project, start a repository and push it. Any framework your host supports will do.
Make the repository the source of truth from the first commit. Hosts change their free plans, and a project that deploys from Git can move to a new host quickly.
mkdir my-site && cd my-site
git init
# scaffold your framework of choice here
git add -A
git commit -m "initial commit"
git remote add origin git@github.com:you/my-site.git
git push -u origin mainConnect a host
Import the repository from the host's dashboard. Most hosts detect common frameworks and fill in the build command and output folder for you.
After the first deploy you have a live site on the host's own subdomain. That is already shareable; the custom domain is the next step.
The two DNS steps tutorials skip
First, the apex. DNS rules do not allow a CNAME on a bare domain such as example.com. Use your DNS provider's ALIAS, ANAME or CNAME-flattening feature, or use the host's nameservers. Some guides say to CNAME the apex; that only works where the DNS provider flattens it for you.
Second, give DNS time. Your host can only issue an HTTPS certificate once the new records resolve publicly. Wait a while before you start troubleshooting, and avoid changing records again while you wait.
- www: a CNAME pointing to the target your host gives you.
- Apex: ALIAS/ANAME/flattened CNAME, or your host's nameservers.
- HTTPS: most hosts issue it automatically once DNS resolves.
- Redirect one hostname to the other so visitors and search engines see one address.
Keep it portable
You now have a site on your own domain, served over HTTPS and rebuilt on every push.
Keep the setup simple and written down: the repo, the build command, and the DNS records. If your free host changes its terms, you can repeat these steps somewhere else.