Managed hosting for .NET applications can be expensive. While Umbraco Cloud is an excellent service, its 2026 pricing for dedicated resources can start at over £300 a month. For a personal blog or a lightweight project, I found that you can achieve high-performance results for a fraction of that cost by self-hosting on a Linux VPS.
Selecting the Hardware: Why I chose an IONOS VPS
When searching for cheap Umbraco hosting, I looked for a provider that offered NVMe storage and high vCore counts. I picked an IONOS Linux VPS because of their current 2026 hardware deal.
For just £4 a month, you get 4 vCores, 4GB of RAM, and a 120GB NVMe drive. If you agree to a 24-month contract, the price drops to £3 a month. This is arguably the best value for hosting .NET 10 apps right now.
If you would like to use IONOS for your own setup, you can use my referral link here. Using this link helps support the blog at no extra cost to you.
Domain Management and Cloudflare Security
I chose Cloudflare for DNS management because of its superior security features and reasonable pricing for .dev domains.
One specific detail to note: if you register your domain with an external provider like Cloudflare, you must manually "connect" it within the IONOS control panel. Their infrastructure requires you to assign the external domain name to your contract before it will correctly route traffic to your VPS IP address.
The Technical Stack: Umbraco 17 Headless on Linux
To maximize the efficiency of the £3 VPS, I am running Umbraco 17 in a headless configuration. This reduces the resource overhead significantly compared to traditional setups.
For the deployment, I followed these steps:
Installed the .NET 10 runtime directly on the Ubuntu instance.
Configured Nginx as a reverse proxy to handle incoming requests and SSL termination.
Used SQLite as the database engine.
While enterprise sites often require SQL Server, SQLite is a perfect move for a blog. It is incredibly fast, handles thousands of daily visitors with ease, and keeps your entire site portable as a single file on your NVMe drive.