How Jeff Hojka eliminated a $270/month business internet line by deploying a Windows-native Clarion/NetTalk web server on Ubuntu Linux using Wine — saving $3,180 per year, reclaiming 30 GB of SSD space, and achieving a 100% cloud office without rewriting a single line of application code.
Jeff Hojka needed to host the public web portal for The Marathon System — a Clarion/NetTalk Windows-native web server — on a cloud VPS. The problem: every Windows installation consumes approximately 65 GB of SSD space, making it impossible to fit onto an affordable 70 GB OVH VPS. The solution was unconventional: deploy the Windows application on Ubuntu Linux using Wine, a Windows compatibility layer that runs native .exe files without a Windows license or a Windows installation.
The result was a server that freed roughly 30 GB of SSD space, avoided a second Windows 10 license, and — most significantly — made it possible to retire a $270/month business internet connection that existed solely to provide static IP addresses. The new OVH VPS costs $5 per month. The office is now 100% cloud-based, and Jeff works remotely from home internet like any cloud-first developer.
The Marathon System includes a customer-facing online portal — a secure web application built with Clarion and NetTalk (Capesoft's web server component). Like all Clarion-built software, it compiles to a Windows-native executable. Running it requires a Windows environment.
For years, this web server ran on a machine sitting in Jeff's office, connected to the internet via a business-grade connection. That connection cost $270 per month — and the only reason it existed was to provide static IP addresses needed for reliable inbound connections. The application itself worked fine. The hosting model was simply expensive.
Moving to an OVH cloud VPS was the obvious fix: low cost, static IP included, managed infrastructure. The obstacle was the SSD.
The constraints stacked up clearly:
The key realization was asymmetric: Jeff had more RAM available than SSD space. Wine — the Windows compatibility layer for Linux — runs Windows executables without a Windows installation, but it carries one known cost: it requires roughly twice the memory of a native Windows deployment. For this application, that meant moving from a 2 GB requirement to 4 GB.
The trade-off was accepted deliberately: surrender RAM (which was abundant) to recover SSD space (which was the actual bottleneck). Ubuntu Linux with a minimal Xubuntu desktop environment brought the OS footprint down dramatically, making the 70 GB VPS not just viable but comfortable. The memory doubling — from 2 GB to 4 GB — was a cost Jeff had more than enough capacity to absorb.
The deployment was structured in three phases, each building on the last, following a guide Jeff developed and published on the ClarionHub community forum in January–February 2025.
on-link: true routing directive.wine32:i386) and Winetricks added to manage Windows runtime dependencies. A key troubleshooting note: if Wine throws a "unable to load kernal32.dll" error, moving the ~/.wine folder aside lets Wine rebuild its configuration cleanly.~/.wine/drive_c/ — Wine's emulated Windows C: drive. From Linux's perspective, the application thinks it's running in a standard Windows file system.web1.sh) was created to launch the application from its own directory (ensuring relative file paths resolved correctly), made executable with chmod +x, and added to Xubuntu's Session and Startup manager for automatic launch on login.127.0.0.1:8080. Standard proxy headers (Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto) were set to preserve client information correctly.libnginx-mod-stream and configuring a streams-enabled directory. The stream block uses ssl_preread to route HTTPS traffic by SNI hostname directly to port 8443.vcrun2015 Visual C++ 2015 runtime was installed via Winetricks to satisfy a dependency of the Clarion application. This is the Wine equivalent of installing a Windows runtime redistributable — a one-command fix once identified.| Item | Before | After | Delta |
|---|---|---|---|
| Monthly hosting / connectivity cost | $270 | $5 | −$265/mo |
| Annual hosting cost | $3,240 | $60 | −$3,180/yr |
| Windows licenses required | 1 (office PC) | 1 (office PC only) | −1 license |
| SSD consumed by OS | ~65 GB (Windows) | ~35 GB (Ubuntu+Wine) | −30 GB |
| Required RAM | 2 GB | 4 GB | +2 GB |
| Static IP dependency on office | Yes | No | Eliminated |
| Office internet required | Yes ($270/mo) | Home internet | 100% cloud |
| Application code changes | — | None | Zero rewrite |
The memory increase — from 2 GB to 4 GB — is the only genuine cost. Everything else is a gain. The RAM was available on the chosen VPS tier. The SSD was the hard constraint, and Ubuntu + Wine solved it cleanly.
on-link: true routing directive in netplan YAML, are exactly the kind of hard-won details that don't appear in any general tutorial. Documenting them — as Jeff did on ClarionHub — is a meaningful contribution to the developer community.The Clarion/NetTalk web portal for The Marathon System now runs on an OVH cloud VPS for $5 per month, hosted on Ubuntu Linux with Wine handling the Windows-native application and nginx managing public HTTP/HTTPS traffic. The application launches automatically on system boot. SSL passthrough preserves the application's own certificate management. The server handles production traffic without modification to the application code.
More significantly: Jeff's office is now 100% cloud-based. The business internet connection — which existed solely to provide static IP addresses — has been retired, eliminating $270 per month in overhead. Jeff now works from home internet as a remote worker, connecting to all systems through the cloud infrastructure he built.
The full three-part guide was published on ClarionHub in January–February 2025 and received community engagement, marking a practical, reproducible path for other Clarion developers considering Linux-based cloud hosting.
"The constraint was SSD space — not the application, not the licensing, not Linux. Once that was clear, the answer was straightforward: use an OS that fits the disk. Ubuntu with Wine delivered a working Windows web server in roughly 35 GB, retired a $270/month business internet bill, and moved the office fully into the cloud. The trade-off was 2 GB of extra RAM. It was worth it."
| Component | Choice | Rationale |
|---|---|---|
| Linux Distribution | Xubuntu 25.10 Minimal | Lightweight GUI; Wine requires a desktop environment. Minimal install keeps the disk footprint small. |
| Hypervisor (dev/test) | Microsoft Hyper-V | Familiar Windows tooling; used for both local VMs and staging before OVH deployment. |
| Cloud Hosting | OVH Cloud VPS | $5/month with static IP included; solved the business-internet problem entirely. |
| Windows Compatibility | Wine + Winetricks | Runs the Clarion .exe on Linux without modification, no Windows license required. |
| Web Proxy / SSL | nginx | Forwards ports 80/443 to Wine's port space (8080/8443); handles SSL TCP passthrough via stream module. |
| File Transfer | WinSCP (SSH) | Familiar Windows-side tool for uploading application files to the Linux VM. |
| Runtime Dependency | vcrun2015 (Winetricks) | Visual C++ 2015 runtime required by the Clarion application under Wine. |
| Application | Clarion + NetTalk by Capesoft | Production Windows-native web server; zero code changes required. |
Looking to reduce infrastructure costs or move your operations to the cloud? Let's talk.