Stage 0 — Starting the Web Workbench Build
Planning a self-hosted Linux web server using VirtualBox, Namecheap DNS, and dynamic DNS on a home Windows setup.
# Stage 0 — Starting the Web Workbench Build
Notes to self for project and act as reminder for future build/rebuild
I’m starting a project to build a self-hosted web server environment using a Windows machine running VirtualBox and a Linux virtual machine.
The goal is to eventually host a live blog from my own domain using Namecheap DNS and dynamic IP updates, running entirely from a home setup.
This Substack will document the journey as a live build log and progress tracker. Instead of focusing on technical instructions, it will track stages, milestones, and outcomes.
The detailed technical logs, configurations, and troubleshooting steps will live on my main website.
---
## Current Stage: Planning
Right now I am in the planning phase.
I’m defining the structure of the system and how all the parts will fit together before any installation begins.
Key decisions so far:
- [x] Using VirtualBox as the virtualization layer on Windows
- [x] Running a Linux server inside a virtual machine
- [x] Using Namecheap for domain and DNS management
- [x] Implementing dynamic DNS for a changing home IP
- [x] Planning WordPress as the final blog layer
- [x] Self-hosting email services using SMTP2GO for reliable sending and receiving
- [x] Planning firewall rules and port management to secure the system
---
## Email System Plan
A key part of this project is setting up email functionality.
Instead of running a fully self-hosted mail server (which can be complex and unreliable from a home connection), I will be using a hybrid approach:
- [x] Outgoing email handled via SMTP2GO
- [x] Domain-based DNS configuration for email routing
- [x] Integration with the self-hosted web server environment
---
## Security & Firewall Planning
Security is a core part of the design from the start:
- [x] Only exposing required ports to the internet (HTTP/HTTPS)
- [x] Restricting administrative access (SSH and control panels)
- [x] Internal services kept within the local virtual network where possible
- [x] Minimising attack surface by limiting open services
- [x] Keeping email and web services logically separated
---
## Why this project exists
This project is as much about learning as it is about building.
It also acts as a living blueprint for future rebuilds — a reference system I can use again if I replace my hardware or need to recreate the setup from scratch.
By documenting every stage, I’m creating a clear record of decisions, outcomes, and system design logic.
It also serves as a way to document how AI tools like ChatGPT can assist during technical builds.
---
## Principles of the Build
1. Rebuildability over complexity
- The system should always be possible to rebuild from scratch using this documentation
- If something is too complex to recreate, it is a design flaw
2. Document decisions, not just steps
- Record why choices were made, not just what was done
- Future versions should understand reasoning
3. Keep services modular
- Each component should be separable (web, DNS, email, firewall, etc.)
- No hidden dependencies between systems
4. Prefer simplicity over optimisation
- Stability and clarity are more important than complexity
5. Assume hardware will fail or change
- The system must be rebuildable on new hardware
- Nothing should rely on a single physical machine
6. Keep external dependencies intentional
- External services must be documented and replaceable
7. Treat AI as part of the build process
- AI tools are part of planning, troubleshooting, and documentation
8. Document as if rebuilding from zero
- Everything should make sense to “future me starting from nothing”
---
## Next Step
- [x] Install VirtualBox on the Windows machine
- [x] Create the first Linux virtual machine
- [x] Begin server setup inside the virtual environment
---
## Stage 0 Complete
This marks the finish point of the Web Workbench Build Storyboard.
The build is now officially in finished.
Next up website build with security plugins add some new pages test self made page builder made with AI, consider and testdifferent design options.
