Self Hosted ![rw-book-cover](https://readwise-assets.s3.amazonaws.com/static/images/article3.5c705a01b476.png) 🔗 **Source:** [Self Hosted](https://jjj.blog/2024/05/self-hosted/) > [!note]+ Document Notes > tags: > - SelfHosting > - RaspberryPi > - WordPress > - HomeServer > Author: jjj > Source: jjj.blog > Reference: None > date created: 2024-09-10 17:00 > > # Title: Self-Hosting WordPress on Raspberry Pi 4: Achieving Independence and Autonomy > <!-- deep-read:sections start --> ## Table of Contents: - [Summary](#summary) - [Main Content](#main-content) - [Notes](#notes) - [References](#references) - [Paraphrase](#paraphrase) - [Newsletter](#newsletter) - [Action Items](#action-items) - [Hypotheses](#hypotheses) - [Methodology](#methodology) - [Questions](#questions) - [Future Research](#future-research) - [Implications](#implications) - [Logical validity](#logical-validity) - [Conclusion](#conclusion) ## 📝 Summary: In this blog post, jjj shares their experience of transitioning from cloud hosting to self-hosting multiple WordPress blogs on a cluster of Raspberry Pi 4’s in their basement. Motivated by the desire for independence, autonomy, and reduced costs, jjj details the technical setup, challenges, and benefits of running their own server infrastructure. The post also highlights the various tools used, such as Mail-in-a-Box for email management and Caddy for automatic TLS certificates, while reflecting on the broader goal of self-sufficiency in web hosting. ## 📖 Main Content: jjj begins by explaining their journey to self-host their WordPress blogs on a Raspberry Pi 4 cluster. Tired of paying $100/month in hosting fees, they wanted to own their infrastructure and data. After setting up a network at home and acquiring hardware, jjj now manages several services, including DNS, email, static websites, and WordPress sites for friends and family. The post breaks down the current setup, which includes Raspberry Pi 4’s running Ubuntu, Docker containers for services like GitLab and WordPress, and a Unifi network for connectivity. jjj discusses challenges like adapting Mail-in-a-Box for ARM64 architecture and highlights the learning experiences gained through running their own internet service (WISP) before upgrading to fiber. Key components of the setup include: - **Raspberry Pi 4 Cluster**: A dedicated unit with 8GB RAM and 1TB SSD for each Pi, running independent Ubuntu installs for different services. - **Mail-in-a-Box**: Handles DNS and email services, modified to run on ARM64. - **Caddy**: Automatically issues and renews TLS certificates for WordPress multisite installations. - **GitLab EE**: A self-hosted version controlling the deployment of all custom code and projects. In addition to the technical setup, jjj reflects on the personal motivations behind this project—control over data, self-sufficiency, and learning. They acknowledge the risks but find the trade-offs worth it for the sense of independence. ### 🗒️ Notes: - jjj self-hosts WordPress blogs on Raspberry Pi 4’s in their basement. - The primary motivation was to reduce hosting costs and gain autonomy over infrastructure. - The setup includes Mail-in-a-Box for DNS and email, GitLab for code management, and Caddy for TLS certificates. - A Unifi network provides connectivity, and the cluster includes multiple Raspberry Pi 4’s with independent Ubuntu installs. - Challenges included adapting software for ARM64 and managing power constraints. - jjj values the learning and independence gained from this setup, despite the risks involved. ## 📖 References: - None explicitly cited in the article. ## 🗣️ Paraphrase: 1. jjj explains that after years of paying for external hosting, they decided to set up their own infrastructure using Raspberry Pi 4’s to host WordPress blogs, manage DNS, and run email services. This setup offers them the independence and control over their data they desired, while also eliminating the $100 monthly hosting fee. 2. In their basement, jjj runs four Raspberry Pi 4’s in a rack-mounted unit, each responsible for different services such as DNS, email, and WordPress hosting. The system also includes a self-hosted GitLab instance, which controls deployments and backups, making the entire operation more efficient and cost-effective. ## 📰 Newsletter: 📡 Thinking about self-hosting your WordPress blog? jjj has taken their WordPress hosting into their own hands, running a cluster of Raspberry Pi 4’s right from their basement! By handling DNS, email, and web hosting all on personal hardware, they’ve not only cut down on hosting costs but gained full control over their data. This DIY setup uses tools like Caddy for automatic TLS certificates and Mail-in-a-Box for email services. For those intrigued by self-sufficiency and tech autonomy, this is an inspiring example of what's possible! #SelfHosting #RaspberryPi #WordPress ## ✅ Action Items: As a Developer Advocate in open-source, this article aligns with my goals of promoting independence, sustainability, and education in web hosting and WordPress. jjj’s journey into self-hosting exemplifies the power of open-source solutions and could serve as a valuable case study for encouraging new contributors to explore self-sufficiency in the WordPress ecosystem. I can use this to highlight alternative approaches to hosting while advocating for more accessible infrastructure and educational content around self-hosting. ## 🧪 Hypotheses: - Self-hosting using Raspberry Pi hardware can significantly reduce costs for small-scale WordPress sites while maintaining reliability. - The success of self-hosting setups like jjj’s will encourage more developers to explore hosting alternatives, leading to more contributions to open-source hosting tools. ### 📊 Methodology: To validate these hypotheses, a survey could be conducted among users who have transitioned from traditional hosting to self-hosting. Comparing costs, uptime, and overall satisfaction levels could provide insights into the viability of self-hosting on Raspberry Pi clusters. ### ❓ Questions: - What are the long-term implications of managing self-hosted infrastructure in terms of time and maintenance? - Could this model of self-hosting be scaled to support larger websites or organizations? ### 🔮 Future Research: Future research could investigate the scalability of Raspberry Pi clusters for more demanding web applications and how self-hosting impacts security. Additionally, studying the adoption rates of self-hosting solutions among small businesses and hobbyist developers could reveal trends in the hosting market. ### 💡 Implications: If self-hosting proves to be a cost-effective and reliable alternative to traditional hosting, it could empower more individuals and small businesses to take control of their web infrastructure. This has broader implications for data sovereignty and independence in the tech space. ### ✅ Logical validity: The article presents a well-reasoned argument for self-hosting as a way to gain autonomy over web infrastructure. jjj supports their decision with practical examples of cost savings and learning experiences. The tone is lighthearted and personal, yet technically detailed. **Strong Reasoning Identified**: - **Causal Reasoning**: The author clearly connects their decision to self-host with the desired outcomes of cost savings and independence. - **Appeal to Facts/Evidence**: jjj provides detailed insights into the setup and challenges faced, making the case for self-hosting more compelling. ### 🎯 Conclusion: jjj’s journey into self-hosting their WordPress sites on Raspberry Pi 4’s demonstrates the possibilities for independence, cost savings, and learning through DIY web infrastructure. By managing every aspect of hosting—from DNS to email and web content—jjj showcases the potential of open-source tools in empowering individuals to take control of their digital presence. This article highlights the trade-offs and rewards of self-sufficiency in hosting. <!-- deep-read:sections end --> 📄 **Full text:** ![[Full Document Contents/Articles/Self Hosted|Self Hosted, jjj.blog]] ## Highlights - Everything that’s running on the Pi’s is also backed-up & deployed from this self-hosted GitLab. I also keep mirrors of the WordPress plugins I’ve authored and a fork of WordPress that I’m writing this post from inside of there. I hadn’t intended to go to deep into GitLab here, but it really is a key component for me to manage all of this stuff. ([View Highlight](https://read.readwise.io/read/01j7f9bwr43xcpcswmtb42mgbg))