Josi's LAB
May 2, 2025

How to Publish Your Own Domain

How to Publish Your Own Domain

Introduction

Setting up and publishing a domain can be pretty simple,but there are some important things to consider. To build a website that works well and stays online, it’s helpful to think ahead: how can it grow easily if needed, and how can you keep it secure from the start?

In this guide, I’ll show you how to create a working environment for your domain with minimal cost. This setup is based on a personal lab environment, perfect for small projects or learning. If your site has a specific goal or you expect more traffic, you’ll want to keep that in mind and be ready to scale or monitor your traffic as needed.

Hosting & Load Balancer Cost Comparison

Provider Description VM Shape Load Balancer Type DNS Service Estimated Cost
DuckDNS Always Free tier setup using DuckDNS + OCI VM.Standard.E2.1.Micro (1 OCPU, 1GB RAM) – Always Free eligible Network Load Balancer (Free) Oracle DNS (Paid) + DuckDNS (Free Domain) 💰 ~€1.85/month (boot volume) + Oracle DNS Zone (Paid)
Hostinger Hosting with manual configuration, DNS management - VM.Standard.E2.1.Micro (Free)
- VM.Standard.A1.Flex (Always Free-elig.)
Network Load Balancer (Free)
Flexible Load Balancer (Free*)
Oracle DNS (Paid) + Hostinger Domain (Paid) 💰 ~€1.85/month (boot volume) + Oracle DNS Zone + Domain (Paid)
GoDaddy Custom DNS with external compute and cloud resources - VM.Standard.E2.1.Micro (Free)
- VM.Standard.A1.Flex (Always Free-elig.)
Network Load Balancer (Free)
Flexible Load Balancer (Free*)
Oracle DNS (Paid) + GoDaddy Domain (Paid) 💰 ~€1.85/month (boot volume) + Oracle DNS Zone + Domain (Paid)

📜 Notes:

  • Flexible Load Balancer: Free up to 744 hours/month with 10 Mbps bandwidth. Additional usage is billed separately.
  • Network Load Balancer: Always free.
  • VM.Standard.A1.Flex is Always Free eligible, but boot volume (~€1.85/month) may incur cost depending on usage.
  • Be aware that although the resource is Always Free, there is a monthly cost for the boot volume.
  • Oracle DNS incurs a cost per managed DNS zone.
  • DuckDNS provides free dynamic DNS, but in this setup Oracle DNS is still used for public exposure.
  • Domain registration with Hostinger or GoDaddy is paid; DuckDNS offers a free subdomain.
  • VM.Standard.E2.1.Micro is part of Oracle Cloud’s Always Free tier. Be aware that although the resource is Always Free, there is a monthly cost for the boot volume.
  • VM.Standard.A1.Flex and other flexible compute shapes incur costs depending on usage. Users should check Oracle’s official pricing page for current rates.
  • DNS services such as those from GoDaddy and Hostinger generally include a cost, even if minimal.
  • Oracle DNS (not shown in table) also has an associated cost per DNS zone.
  • DuckDNS is a free dynamic DNS service, suitable for personal or non-commercial use.
  • Hostinger and GoDaddy primarily provide domain and DNS services — additional charges may apply if using them for compute or load balancing.
  • Prices may vary slightly depending on region and actual configuration.

https://docs.oracle.com/en-us/iaas/Content/Billing/Tasks/signingup_topic-Estimating_Costs.htm

Prerequisites

Before we get started, you’ll need:

  • A registered domain (from Cloudflare, Namecheap, GoDaddy, or any other registrar)
  • A server or service where your site is hosted
  • Some basic understanding of DNS (don’t worry, I’ll explain the essentials!)

Need a refresher?
👉 Check out the Introduction Bookstack guide Introduction here!

DNS: The Basics You Actually Need

The Domain Name System (DNS) is like the phone book of the internet. It translates domain names like yourawesomeproject.com into IP addresses like 203.0.113.42.

Main record types you’ll encounter:

  • A Record: Points your domain directly to an IP address.
  • CNAME Record: Points your domain to another domain name (super useful for platforms like GitHub Pages).
  • AAAA Record: Same as an A Record, but for IPv6 addresses.

💡 Pro tip: Always have at least an A Record set — even if you’re also using CNAMEs.

Step-by-Step: Publishing Your Domain

1. Choosing Your Domain Provider

Head over to where you registered your domain. You’re looking for something like DNS Settings or Manage DNS.

👉 Check the step-by-step for each provider here:

GODADDY!

DuckDNS!

Hostinger!

2. Creating a DNS Zone in Oracle OCI

👉 Check the step-by-step here:

DNS Zone!

3. DNS Propagation

👉 Check the step-by-step here:

DNS Propagation!

5. Creating a Debian Image on Oracle Cloud (OCI)

For Debian enthusiasts, like our loyal Grumbler!

👉 Check the step-by-step here:

Creating a Debian Image!

6. AMD shape Always Free(OCI)

👉 Check the step-by-step here:

AMD shape Always Free!

7. Free Tier Instance (ARM Shape - Always Free)

👉 Check the step-by-step here:

ARM Shape - Always Free!

9. Installing Certbot & Generating SSL Certificate

Installing an SSL certificate might feel like convincing a cat to take a bath, tricky, unpredictable, and full of surprises.
But hang in there: once you get through it, everything else feels easier.

👉 Check the step-by-step here:

Installing Certbot & Generating SSL Certificate!

10. Installing Docker and MariaDB

👉 Check the step-by-step here:

Installing Docker and MariaDB!

11. Installing Docker & Deploying Ghost (The Blogging Platform) AMD - DEBIAN

👉 Check the step-by-step here:

Chapter 14: Installing Docker & Deploying Ghost (The Blogging Platform) AMD - DEBIAN!

12. Creating the Ghost Project with Docker Compose

👉 Check the step-by-step here:

Creating the Ghost Project with Docker Compose!

13. Choosing the Right Load Balancer

When setting up a website or web application on Oracle Cloud Infrastructure (OCI), it's important to choose the appropriate type of load balancer to ensure scalability and availability. OCI offers two main types:

Load Balancer (LB): A fully managed, feature-rich Layer 7 (application layer) load balancer. It supports SSL termination, URL-based routing, and more advanced traffic control features.

Network Load Balancer (NLB): A high-performance Layer 4 (transport layer) load balancer designed for low latency and high throughput. It's ideal for simpler use cases where minimal overhead and fast performance are key.

According to Oracle’s official documentation, the main differences lie in protocol support, performance, and complexity of features.

Recommendation:
For straightforward websites or services where advanced traffic manipulation isn’t required, the Network Load Balancer is typically sufficient. It offers a simpler setup, lower latency, and can efficiently handle most small to medium-scale traffic needs.

👉 Check the step-by-step here:

Publishing Through Oracle Cloud Load Balancer!

Publishing Through Oracle Cloud Load Balancer!

13. Nginx Proxy Manager with a Network Load Balancer

Nginx Proxy Manager with a Network Load Balancer

If you want a full, detailed, nerdier explanation (with even more screenshots),
👉 dive into the full Bookstack guide!

📋 About the Author

This guide was written by Manolo, an orange cat with bold ideas and a strong commitment to napping during QA testing. Thankfully, it includes the valuable collaboration of Josi (the human), who made sure everything actually worked. 🐾
Brought to you with love (and a few cat hairs) from HexaCats Labs. 🐾