Setting Up My Homelab: A Journey Into Self-Sufficiency

As a tech enthusiast, I’ve always found the idea of building my own server environment at home fascinating. The idea of having full control over my data, creating a personal cloud, and experimenting with various applications is something that excites me both professionally and personally. So, I decided to take the plunge and set up my very own homelab. Here’s a look at the journey and how I made it happen.

The Hardware: Building the Base

For my homelab project, I needed something compact yet capable enough to handle the tasks I planned on running. After considering various options, I landed on the Intel Celeron NUC, which was one unused in my library. It’s small, efficient, and perfect for a home server setup. With 4GB of RAM and a 120GB SSD, it was ideal for my use case — no need for a massive server, just something reliable.

The beauty of the NUC is its minimal power consumption and tiny footprint. It doesn’t take up much space and won’t run up your electricity bill. This made it the perfect starting point for my lab. After getting the hardware in place, I decided to go with Debian 12 as the operating system. It’s a stable, lightweight OS that gave me the flexibility I needed to run various applications.

The Software: CasaOS and the Cloud VPS

Once I had the hardware ready, the next step was finding a way to manage all the services I wanted to run. I didn’t want something too complex, so I needed a simple and user-friendly interface. After doing some research, I discovered CasaOS, an open-source home server operating system. It offers an intuitive dashboard that lets you easily manage cloud storage, services, and applications. It was exactly what I needed to bring everything together.

However, there was a small problem: I didn’t have a public static IP at home, which meant accessing my homelab remotely would be tricky. To get around this, I subscribed to a cloud VPS to act as a bridge between my home network and the outside world. This VPS runs Debian 12 and offers 1 vCPU, 512MB of RAM, and 10GB of SSD storage. For just $3.5/month, it was an affordable solution that allowed me to access my lab remotely without any issues.

VPN Setup: Securing Connections with Netbird

Security is always a top priority, especially when you’re exposing your network to the internet. To ensure that my homelab remained safe, I decided to set up Netbird VPN. Netbird is an open-source VPN based on WireGuard, a fast and secure protocol that’s perfect for this type of setup.

With the VPN in place, I could securely connect to my homelab from anywhere without risking exposure to external threats. I configured the VPN on both the cloud VPS and my local machine, which gave me a secure tunnel to access all the services I was running. Now I had peace of mind knowing my data was safe and my connections were encrypted.

For completely free remote access to your homelab, you can use Twingate, which offers a personal plan free for one device—perfect for homelab setups. Click here to learn more about Twingate.

Final Touches and Running Services

After setting up the hardware, software, and security, it was time to get everything running. I began by experimenting with various services that could run smoothly on my homelab. From personal cloud storage to home automation tools, I wanted to make the most out of the setup. The beauty of using CasaOS was how easy it was to deploy apps like Nextcloud (for cloud storage), Jellyfin (for media streaming), and Pi-hole (for ad-blocking).

I could access everything remotely through the Netbird VPN, which meant I wasn’t tied to a single location. Whether I was at home or on the go, I could manage and monitor my services with ease.

Reflection: The Rewards of a DIY Homelab

Looking back at the process, setting up this homelab has been incredibly rewarding. Not only did I learn a lot about networking, security, and cloud management, but it also gave me full control over my own infrastructure. I now have a fully functional, secure, and remote-accessible homelab that meets all my personal and professional needs without relying on third-party services.

Even though the hardware is modest, the ability to experiment, learn, and have control over my setup has been invaluable. There’s something incredibly satisfying about knowing you’ve built something from scratch that works just the way you want it.

Looking Ahead

My homelab is still in its early stages, and I’m excited to expand it in the future. I plan to integrate more applications, experiment with automation, and scale up the setup as needed. One of my future goals is to upgrade to a more efficient and compact form factor machine—specifically, an HP EliteDesk 800 G5 High Performance Mini PC featuring an Intel Core i5 9th Gen processor, 16 GB DDR4 RAM, and a 256 GB NVMe SSD (refurbished). This device not only supports RAM upgrades up to 64 GB but also allows for storage expansion, making it an ideal candidate for running Proxmox VE, the open-source virtualization platform.

If you’ve ever considered building your own homelab, I highly recommend taking the plunge. It’s a fantastic way to develop new skills, explore emerging technologies, and gain a hands-on understanding of how systems operate behind the scenes. The possibilities are endless—and the best part? You’re in full control of your learning journey.

– Mahesh Palamuttath

Setting Up a WhatsApp HTTP API for Libraries: A Smart Way to Automate Communication

Disclaimer:
Whatsapp-web.js is not affiliated with, endorsed, or authorized by WhatsApp or its affiliates. "WhatsApp" and related marks are registered trademarks of their respective owners. Use of unofficial methods may lead to account blocks, as WhatsApp does not support bots or unofficial clients. For critical business use, we recommend official solutions like Twilio or the WhatsApp Business API. [!IMPORTANT] It is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe.

WhatsApp is one of the most widely used messaging platforms today. With its ease of use and popularity among students and faculty, it has great potential for communication in libraries. However, WhatsApp does not provide a direct API for all users, especially for free. But with a bit of technical setup, it’s possible to create your own WhatsApp HTTP API that can send messages programmatically.

In this post, I’ll walk you through the benefits of setting up your own WhatsApp HTTP API using whatsapp-web.js and how it can be used effectively in a library context. A detailed step-by-step technical guide is linked at the end for those who want to set it up on their own server.

Why Use WhatsApp for Library Communication?

Libraries need to reach out to users regularly. This could be for reminding users about due dates, informing them about reserved book availability, sending workshop or event updates, or simply sharing links to library services. Traditional methods like email or printed notices are slow or often ignored.

On the other hand, WhatsApp messages are quick, direct, and more likely to be read. By automating WhatsApp messaging, libraries can save time and ensure users receive timely updates.

What is the WhatsApp HTTP API?

This is a self-hosted solution built using Node.js and a library called whatsapp-web.js. It simulates WhatsApp Web in the background and allows you to send messages via a simple HTTP POST request. That means other systems or tools (like your library management system or a Google Sheet) can send WhatsApp messages by making a request to your server.

This is not the official WhatsApp Business API but is ideal for academic or personal use cases where automation is needed.

Key Benefits for Libraries

Here are some practical advantages of using a WhatsApp HTTP API in libraries:

  • Automated notifications: Due dates, fines, or reservations can be notified instantly.
  • Higher engagement: WhatsApp messages have higher open and response rates compared to emails.
  • Seamless integration: Can be connected with systems like Koha ILS, Google Apps Script, or room booking systems.
  • User convenience: Users already use WhatsApp, so there’s nothing new for them to learn.
  • Low-cost solution: No recurring fees or vendor lock-in.

How to Set It Up

Setting this up involves:

  • Installing Node.js and Chromium on a Linux system (Debian/Ubuntu works well).
  • Using whatsapp-web.js to interact with WhatsApp Web.
  • Creating a basic Express server in Node.js.
  • Exposing an API endpoint like /send that accepts phone numbers and messages.
  • Running the server in the background using PM2 for reliability.

Once configured, sending a message is as simple as sending a POST request with the phone number and message content.

You can use tools like curl, Postman, or even Google Apps Script to make the API call. Here’s a simple example using curl:

curl -X POST http://localhost:3000/send \
-H "Content-Type: application/json" \
-d '{"number":"919567664972","message":"Hello from the library!"}'

This message will be delivered to the given WhatsApp number.

Want to Set This Up?

If you’re interested in trying this out for your own library or institution, I’ve created a complete configuration guide with step-by-step commands.

Read the full guide here: https://libtechnophile.blogspot.com/2025/05/how-to-set-up-whatsapp-http-api-for.html

Final Thoughts

This WhatsApp HTTP API is a simple yet powerful solution for modern library communication. It helps reduce workload, improves response times, and ensures better user engagement. With free and open-source tools, even small libraries can now offer professional-level digital communication.

If you have any questions or need help with implementation, feel free to get in touch. I’d be happy to help you get started.

MiniOS: A Lightweight Debian-Based Linux Distribution

MiniOS is a lightweight and efficient Linux distribution designed to offer flexibility and performance, especially on low-resource systems. Built on the solid foundations of Debian and MX Linux, MiniOS is suitable for both advanced users seeking full control over their environment and those who require a ready-to-use desktop system. This article explores MiniOS and its three main variants: Standard, ToolBox, and Ultra.

What is MiniOS?

MiniOS is a minimal Linux operating system that provides users with the essential tools to build, maintain, or use a complete system with minimal overhead. Its modular nature makes it suitable for a variety of use cases, including system recovery, education, and daily desktop usage.

MiniOS Variants

1. MiniOS Standard (Base OS: Debian)

This is the most minimal version of MiniOS. It is designed for users who prefer to construct their operating system from the ground up. The Standard edition provides only the essential components and a lightweight window manager such as Openbox or Fluxbox. It does not include pre-installed applications, offering maximum flexibility and customization.

2. MiniOS Toolbox (Base OS: MX Linux)

ToolBox is a utility-focused edition tailored for system maintenance, diagnostics, and recovery. It comes pre-installed with a range of essential tools such as GParted, Clonezilla, and other disk and network utilities. This edition is designed to run in live mode, making it portable and ideal for troubleshooting tasks.

3. MiniOS Ultra (Base OS: MX Linux)

Ultra is the most feature-rich variant of MiniOS. It includes a complete desktop environment and essential applications such as a web browser, media player, and file manager. Despite its functionality, Ultra remains lightweight and is optimized for use on older or low-spec hardware.

Variant Base OS Description Target Users
MiniOS Standard Debian Minimal system, highly customizable Developers, advanced Linux users
MiniOS ToolBox MX Linux Portable toolkit for system recovery IT professionals, sysadmins
MiniOS Ultra MX Linux Lightweight desktop with essential apps Home users, schools, libraries

MiniOS is a versatile Linux distribution that addresses diverse needs through its three tailored variants. Whether you are a developer needing a clean slate, a technician in search of a live recovery toolkit, or an end user looking for a responsive desktop on older hardware, MiniOS provides a reliable and efficient solution. Its Debian and MX Linux base ensures stability and compatibility while maintaining a small footprint.

To learn more or to download MiniOS, visit the official website: https://minios.dev