Abstract
- A service like Cloudflare DDNS mechanically updates your area’s IP with your private home’s IP.
- Nginx Proxy Supervisor routes site visitors and offers SSL certificates by Let’s Encrypt and deploys in Docker.
- Ghost is a user-friendly running a blog platform with markdown and plugin help that’s simple to deploy utilizing Docker.
Have you ever needed to run your individual web site, however hate the thought of paying internet hosting charges? That is the place I not too long ago discovered myself, so here is how I spun up a fast web site utilizing Docker, Nginx Proxy Supervisor, and Ghost.
What Do You Have to Run a Private Web site?
Operating a private web site has a couple of conditions. By the point you are up and working, you need to have a site title, a server to host your web site on (which may even be an previous laptop computer, NUC, or Raspberry Pi), Docker, and some containers deployed.
First up is the server to host your web site on. It would not must be ultra-powerful, and it may well even be a pc you could have mendacity round on the home. A Raspberry Pi, NUC, previous desktop, and even an previous laptop computer may work nice for this service. You simply want one thing made inside the final 15 years or so that may nonetheless run a contemporary working system (idealy Linux, however Home windows or macOS will work too).
Subsequent is a site title. You can buy your domain from anywhere, however I might suggest discovering one which helps DDNS natively, like Cloudflare. When you get a hard and fast IP when utilizing a digital personal server (VPS) or different internet hosting platform, when internet hosting your web site at house, there is a good likelihood your IP will change over time. That is the place a DDNS (dynamic DNS) is available in. Primarily, as your IP at house modifications, DDNS updates the A record of your domain to point to your new IP.
Along with a site and DDNS setup, you may additionally want Docker for the internet hosting technique I will suggest right here. Docker is able to working a lot, however, on your web site, we’ll want a DDNS container, Nginx Reverse Proxy, and, after all, your web site itself.

Associated
Docker for Beginners: Everything You Need to Know
Be taught to make use of this extremely standard improvement instrument.
To configure the Cloudflare DDNS Docker container, you may want an API key for Cloudflare that may change the DNS information for the particular area you may be utilizing, the area itself, and any subdomains you need to maintain up to date. All of this will probably be set by environmental flags in Docker, making it simple to alter or add new subdomains and domains sooner or later.
To rapidly get off the bottom, you’ll be able to go to a website like What’s My IP Address to search out your public IP. Go forward and enter that IP into the A report of the area you need to use on your web site. Your DDNS will maintain that up to date ought to the area change, however manually inputting it now will simply assist pace issues up down the highway.
Nginx Proxy Supervisor Handles Your Reverse Proxy Wants
The primary Docker container to spin up after your DDNS will probably be Nginx Proxy Manager. With Nginx Proxy Supervisor, you’ll route the incoming site visitors to your web site’s Docker container.

Associated
What Is a Reverse Proxy, and How Does It Work?
Reverse proxies are a useful gizmo in any system administrator’s toolkit.
Nginx Proxy Supervisor is a reverse proxy. It takes incoming site visitors on ports :80 and :443 (unsecured and SSL connections) and forwards them elsewhere in your community. You will have to configure your community’s firewall to ahead the exterior 443 and 80 ports to no matter these ports are mapped to on your Nginx Proxy Supervisor set up.
Upon getting the Nginx Proxy Supervisor Docker container up and working along with your ports forwarded, it is time to get the routing arrange. Begin by navigating to hosts then click on add new host. You will see a popup, and that is the place you may enter the knowledge in on your web site. Simply kind the area, server IP, and the port that you’re going to be working the location on. The port may be no matter you need, and is usually dictated by the software program you run.
As an example, you might have weblog.area.com ahead to 192.168.1.6:2368, which might be your server’s IP with the Ghost port on the top. At any time when somebody visits weblog.area.com, it could then path to your public IP after which Nginx Proxy Supervisor would route it to the right container.
Not solely does Nginx Proxy Supervisor deal with the routing, however it also takes care of SSL certificates through Let’s Encrypt. These free SSL certificates can provide these looking your weblog peace of thoughts, including an additional layer of safety to the looking session. The complete SSL course of, begin to end, is seamless inside Nginx Proxy Supervisor, too.
When you’re in a position to arrange one reverse proxy, then it is fairly easy to arrange as many as you need. I’ve over 30 reverse proxies alone community, for companies like Calibre Internet, audiobookshelf, Tautulli, Minecraft servers, a Passable server, an Ark Survival: Developed server, and a lot extra.
Ghost Is a Easy Running a blog Platform That’s Simple to Use
Now that you’ve nearly every little thing arrange, it is time to get Ghost put in.
You may need anticipated me to make use of WordPress, because it runs a majority of the web. Whereas WordPress is nice, and I’ve used it for over 15 years, Ghost is what I am working my very own private weblog on this time round. It is light-weight, easy-to-use, and, actually, simply less complicated than WordPress.
Ghost is geared towards being a weblog that may even have a e-newsletter part to it. Posts are written in markdown (my favourite method to write), and there are a number of plugins for among the larger companies on the market, like Instagram, Discord, MailChimp, YouTube, Patreon, and others.
To launch Ghost, you may have to do a couple of issues. We’ll begin in Nginx Proxy Supervisor. Go forward and create a brand new proxy host along with your area title within the first clean, go away the scheme as HTTP, enter your Docker server’s IP subsequent, after which the port 2368.
I sometimes verify the toggles for cache belongings, block widespread exploits, and websockets help. Skip over subsequent to the SSL tab, skipping over the customized areas tab. Right here, select Request New SSL Certificates and conform to the phrases, then enter your e-mail. Click on save, and your reverse proxy is ready up.
Now, head again to your Docker host. I personally use Portainer as an online GUI for Docker, however because it’s all finished by Docker Compose, the setup information are similar both method.
If you wish to use the identical Docker Compose file that I take advantage of for my Ghost weblog, then check out my homelab GitHub repo. You’ll want to change out the area with your individual area, and alter the MySQL password for one thing safer too.
When you deploy the Docker Compose file, then your Ghost weblog needs to be up and working at your new area!
Your Web site Is Reside! Now What?
If all was finished proper, and you’ve got the port forwarding settings configured correctly in your router, then you need to be capable to navigate to your area title that you just arrange and entry the Ghost occasion externally.
Now that your web site is life, what’s subsequent? Properly, you may need to begin with configuring the Ghost weblog. There are numerous YouTube movies and different articles that stroll you thru step-by-step what to do there. I’ve not even totally discovered all of the configuration choices but.
At this level, your web site is dwell on the web and anybody can entry it. You may need to put a touchdown web page up when you’re engaged on it, or simply merely go away it’s whereas it is below development. Begin publishing weblog posts, sending e-mail newsletters, and luxuriate in internet hosting your individual private web site on {hardware} at your home, freed from internet hosting charges!
Beginning a full-blown weblog may not be precisely what you are after. If that is you, then microblogging might be just what you’re looking for. It is barely completely different from conventional running a blog, and is far simpler to arrange because it’s sometimes finished on social media, which means there are not any databases to configure, DDNS or reverse proxies to arrange, and it is typically free!