Hosting Architecture
Document: 24-hosting-architecture.md
Version: 1.0.0
Purpose
This document defines the hosting architecture used across all Rundown projects.
Hosting provides the production environment in which applications run. A standardized hosting strategy ensures consistency across projects, simplifies deployments, reduces operational complexity, and enables predictable maintenance procedures.
This document establishes the infrastructure standards for all production and staging environments.
Hosting Philosophy
Infrastructure should be:
-
Predictable
-
Repeatable
-
Scalable
-
Cost-effective
-
Easy to maintain
Hosting decisions should prioritize operational simplicity over unnecessary infrastructure complexity.
Standard Hosting Platform
Rundown standardizes on:
Hostinger VPS
Recommended baseline specification:
-
Ubuntu LTS
-
4–8 GB RAM (depending on project size)
-
SSD Storage
-
Docker support
-
Static public IP
The selected VPS should be appropriate for the expected workload while allowing room for future growth.
Responsibilities
The hosting layer owns:
-
Application execution
-
Network connectivity
-
System resources
-
Operating system
-
Persistent storage
-
Server availability
Non-Responsibilities
The hosting layer should not own:
-
Application logic
-
Content management
-
Business rules
-
DNS management
-
CDN delivery
Hosting provides compute resources only.
Standard Operating System
Rundown standardizes on:
Ubuntu LTS
Reasons:
-
Long-term support
-
Stability
-
Large ecosystem
-
Excellent Docker compatibility
-
Predictable security updates
Non-LTS releases should not be used for production environments.
Environment Strategy
Every project should support separate environments.
Minimum environments:
Development
↓
Staging
↓
Production
Each environment should remain isolated.
Production should never be used for testing.
Server Structure
A standard Rundown production server consists of:
Ubuntu LTS
│
Docker Engine
│
Coolify
│
Nginx Reverse Proxy
│
Application Containers
Each layer has a clearly defined responsibility.
Resource Allocation
Infrastructure should scale according to application requirements.
Typical considerations include:
-
Number of visitors
-
Database size
-
Media usage
-
Background processing
-
Search requirements
Avoid provisioning significantly more resources than required.
Scaling Strategy
Rundown follows a progressive scaling strategy.
Order of preference:
-
Optimize the application.
-
Optimize the database.
-
Optimize caching.
-
Increase VPS resources.
-
Introduce additional infrastructure only when necessary.
Scaling should be driven by measurable demand rather than anticipation.
Networking
Every production server should:
-
Use HTTPS exclusively.
-
Restrict unnecessary open ports.
-
Expose only required services.
-
Route traffic through Cloudflare.
-
Keep administrative services private whenever practical.
Domain Management
Cloudflare is the standard DNS provider.
Responsibilities include:
-
DNS records
-
SSL
-
CDN
-
Edge protection
Application hosting remains independent of DNS management.
Storage
Persistent storage should include:
-
Database volumes
-
Application uploads (when required)
-
Logs
-
Backups
Application containers should remain stateless whenever practical.
High Availability
High availability should only be introduced when business requirements justify the additional complexity.
Most marketing websites and standard ecommerce projects can be reliably hosted on a single VPS.
Redundancy should be introduced incrementally as projects scale.
Cost Management
Infrastructure decisions should balance:
-
Performance
-
Reliability
-
Operational simplicity
-
Monthly operating costs
The objective is to provide clients with reliable hosting without unnecessary infrastructure expenses.
Engineering Decision
Standard Hosting Platform
Status: Accepted
Decision
Hostinger VPS running Ubuntu LTS is the standard production hosting environment for Rundown projects.
Reasoning
This architecture provides:
-
Predictable costs
-
Excellent Docker support
-
Sufficient scalability
-
Operational simplicity
-
Strong compatibility with the Rundown technology stack
More complex infrastructure should only be introduced when justified by business requirements.
Hosting Checklist
Before provisioning a production server, verify:
-
Ubuntu LTS installed.
-
VPS resources are appropriate.
-
Cloudflare configured.
-
HTTPS enabled.
-
Development, staging, and production environments defined.
-
Persistent storage configured.
-
Resource requirements reviewed.
Summary
Hosting provides the operational foundation for every Rundown application.
By standardizing on a simple, scalable VPS architecture, Rundown delivers reliable production environments while maintaining low operational costs and minimizing infrastructure complexity.
Related Documents
Related ADRs
- ADR-001: Repository Structure