This website

This website

Manually deploying a website

How I Deployed This Website

I built and deployed this website from scratch, using Docker to streamline the deployment process and make the setup easily scalable. While this site likely won’t require scaling in the future, working with Docker was a valuable learning experience—it’s a widely used tool in modern development and infrastructure.

Infrastructure Setup

The first step was purchasing this domain. I then took advantage of Oracle Cloud’s Always Free tier by spinning up a virtual machine instance. Once the VM was running, I installed Docker and began defining my environment using Docker Compose.

My docker-compose.yml file orchestrates three containers:

  • Frontend – for serving the actual website (built with Next.js)
  • Nginx – acting as a reverse proxy
  • Certbot – handling HTTPS certificates from Let's Encrypt

Getting Nginx and Certbot to work together was one of the more challenging aspects. I initially attempted to configure them directly on the VM, but switching to a Docker-based approach ultimately proved cleaner and more maintainable. After spinning up the containers, I configured Nginx and obtained an SSL certificate to enable secure access.

Frontend and Design

The frontend of this website is based on an open-source template that I customized to fit my needs. The template I used is this one by Chetan Verma. It's a well-structured and visually appealing starting point, and I highly recommend it if you're planning to create your own personal site.

Simplicity by Design

You may notice there's no database container in this setup—and that's intentional. Since the site is static and doesn't require persistent data storage, a database would have added unnecessary complexity.

Final Thoughts

This post is a high-level overview of how I deployed this website. Behind the scenes, it involved writing Dockerfiles, Nginx configuration files, and dealing with certificate provisioning. If you're interested in setting up a similar project or need help getting started, feel free to reach out.

Contact.

LET'S WORK

TOGETHER