Infrastructure¶
The Canadian Space runs on a self-hosted setup. We own the hardware contract, manage the deployments, and see exactly what's happening at every layer. Here's why that matters, and how it's built.
The layout¶
At the core is a single OVH VPS running Docker Compose. Inside: n8n (workflow orchestration), Redis (job queue), and Caddy (reverse proxy). Outside: WordPress on Newfold, GitHub for code, OpenRouter for LLM routing, and a handful of APIs feeding data in.
graph TB
subgraph OVH["OVH VPS (self-hosted)"]
N8N["n8n<br/>(workflow engine)"]
R["Redis<br/>(queue)"]
C["Caddy<br/>(reverse proxy)"]
N8N <-->|"queues"| R
C <-->|"proxies"| N8N
end
subgraph External["External Services"]
WP["WordPress<br/>(Newfold)"]
GH["GitHub<br/>(code)"]
OR["OpenRouter<br/>(LLM API)"]
SNAPI["SpaceFlightNews API"]
LL2["Launch Library 2"]
end
N8N -->|"publish"| WP
N8N -->|"route requests"| OR
N8N -->|"pull data"| SNAPI
N8N -->|"pull data"| LL2
N8N -->|"push"| GH
style OVH fill:#0A1428,color:#fff,stroke:#FF9D3D
style External fill:#f5f5f5,color:#000
style N8N fill:#FF9D3D,color:#000
Why self-hosted?¶
We made a deliberate choice to self-host instead of using a fully managed platform (Zapier, Make, Patreon, etc.). Here's why:
Control You see exactly what we're running, and we control our own destiny. No surprise pricing tiers, no "your feature request is on the roadmap," no waiting for third-party approval to add a new data source.
Learning Running our own infrastructure keeps us sharp. We understand caching, queueing, error handling, and production operations—not just the happy path.
Openness Open-source at the core (n8n, Docker, Caddy) means you can audit what we're doing, contribute improvements, and fork if you want to build your own version.
Disaster recovery & redundancy¶
Our n8n workflows are version-controlled on GitHub. WordPress backups are automated. If the VPS goes down, we can spin up a new one and restore from our images in under an hour.
For critical workflows (Daily Broadcast, editorial routing), we've built fallback routes: if Gemini is unavailable, Claude steps in. If one data source is down, others keep pulling.
Want to learn more?
Check out Data Sources to see where the news comes from, or dive into Tech Stack for a component-by-component breakdown.