Introduction
A major goal of Realm Labs is to document the journey of building and experimenting with technology.
Rather than using a hosted blogging platform, I decided to run the website using the same principles as the rest of the home lab: self hosting, learning and having full control.
This project documents the process of building my own WordPress platform using Docker containers.
Why Self Host a Website?
Modern website hosting is easier than ever, but running a site yourself provides a different learning experience.
Self hosting provides:
- Full control over the environment
- Understanding of the underlying technology
- Flexibility to customise the platform
- Integration with existing infrastructure
The goal is not simply to run a website, but to understand what makes it work.
The Architecture
The website is built using several components working together:
WordPress
|
|
MariaDB Database
|
|
Docker Containers
|
|
Home Lab Infrastructure
Each component has a specific role.
WordPress
WordPress provides the content management system.
It handles:
- Articles
- Pages
- Categories
- Media
- Site structure
This makes it ideal for building a long-term knowledge base.
MariaDB
Behind WordPress is the database layer.
MariaDB stores:
- Posts
- User information
- Settings
- Plugin data
- Website configuration
Keeping the database separate from the application makes the deployment cleaner and easier to maintain.
Running Everything with Docker
Docker provides the container environment.
Using containers makes it easier to:
- Deploy services
- Update applications
- Move workloads
- Backup configurations
The entire website can be managed as part of the wider home lab.
Managing with Portainer
Portainer provides a visual management interface for Docker.
It allows:
- Container monitoring
- Stack deployment
- Log viewing
- Configuration management
This makes maintaining the website much simpler.
The Importance of Backups
A self-hosted website is only as reliable as its backup strategy.
Important areas include:
- WordPress files
- Database backups
- Media uploads
- Configuration files
The aim is to be able to recover quickly if something goes wrong.
Building a Knowledge Base
The purpose of Realm Labs is not just to publish articles.
It is to create a permanent record of:
- Projects
- Experiments
- Solutions
- Lessons learned
Every challenge solved becomes another piece of documentation.
Lessons Learned
Running your own website teaches many valuable lessons:
- Application dependencies matter
- Databases are critical
- Networking affects everything
- Good documentation saves time
The same principles used in larger environments apply even at home.
Future Improvements
Future plans include:
- Better monitoring
- Automated backups
- Improved security
- Performance optimisation
- Additional content sections
Conclusion
Hosting Realm Labs inside my own infrastructure completes the cycle.
The lab builds the technology, and the website documents the journey.
Self hosting is not about avoiding hosted solutions — it is about learning how the technology works and having the freedom to build something unique.

