My Website Hosting Journey

My first post denoting my experience hosting this very website. Enjoy!



Building and hosting your own website can be an incredibly rewarding journey, offering opportunities to learn about technology while creating a platform to share my ideas and engage with others. I needed quick deployment for website to spend more time sharing content than to learn, develop and troubleshoot website hosting with minimal content generation. I would rather cover more ground before delving into the depths. I concluded a 3 month migration to self hosting will give me enough time to learn the basics while learning analogous functions for my homelab. This began with implementing a WordPress instance hosted on Amazon Lightsail. My eventual self-hosted solution is a Raspberry Pi 5 cluster. In this post, I’ll outline my approach, my goals, and what I hope to achieve over a three-month migration period.

Phase 1: Content Population

When I decided to launch my website, I chose WordPress as my starting point. Its ease of use, extensive customization options, and large community made it the perfect choice for a beginner. The first month I want to spend mostly writing posts and populating info. Maybe I can learn a little about web development along the way…
Hosting on Amazon Lightsail offered a balance between simplicity and control, providing:

  • Pre-configured Instances: With WordPress pre-installed, I could focus on creating content instead of worrying about setup.
  • AWS Integration: Running Amazon Lightsail allows integration with other AWS tool which I may use in the future.
  • Cost-Effectiveness: With predictable pricing, I could experiment without breaking the bank.

Main objective for Phase 1:

  1. Build Website
  2. Post preliminary posts
  3. Export Website to GitHub: Use GitHub for initial backup and version control.
  4. Back up techniques: Learn best services for regularly scheduled backups. Maybe it is GitHub.

This setup allowed me to quickly get my website up and running while establish a solid foundation to learn about hosting on my homelab.

Phase 2: HomeLab Prep

While WordPress and Lightsail has been an excellent starting point, my main reason for the move is data control. I want to be able to control my data will full customization and experiment as I see fit. However, my primary concerns are security, privacy and data control. Therefore, during phase 2 I intend to learn and implement proper security techniques to my home network before exposing my services to the internet. The following are topics I intend to learn and deploy in phase 2.

Main Objective for Phase 2:

  1. Security: Research proper cyber security practice and HTTPS authentication. As will be discussed in another post.
  2. Pi Cluster Setup: Involves prepping the Raspberry Pi cluster for hosting services, such as: create a high-availability system to ensure my website remains online even if one node fails.
  3. Monitoring: How to monitor system, diagnostics and health checks.
  4. Testing: Create a locally host website unrelated to main web site to practice all practices so far and troubleshoot.

Phase 3: Deployment and Optimization

By Phase 3, I hope to deploy the website in my homelab. Leaving the rest of the month to research optimization methods. Mainly to move away from using WordPress.

Challenges: Self-hosting isn’t without its challenges. Here are a few I’m anticipating:

  • Security: Protecting the server from vulnerabilities and attacks.
  • Maintenance: Regular updates and monitoring to keep everything running smoothly.

Free time: I work full time, live an active life and a family man. Most of my research and testing has to be done in any spare time.

Conclusion

Migrating to a self-hosted solution is an ambitious but exciting process. Over the next three months, I’ll not only gain valuable skills but also achieve a deeper connection with the infrastructure powering my website.
Although my goal is to self host many services, part of self hosting is data control meaning that knowing where your data is and how to be accessed. Therefore, maintaining some of my services in the cloud may be the preferred option. My final setup may end up looking like an Amazon Lightsail instance hosting my website with customize code.
If you’re considering a similar journey, stay tuned for updates as I share my progress, challenges, and lessons learned along the way.


Leave a Reply

Your email address will not be published. Required fields are marked *