I Got Rejected by 3 Cloud Providers. My Laptop Didn't Care.
I needed to host a real client's CMS site . For free. That last part turned out to be the hard bit. I'd built a modular, English-native Laravel CMS after switching off a Persian-language open-source project that needed more translation work than I had appetite for. Once the app was running cleanly in Docker locally, deployment seemed like the easy part. It was not. Round 1: Oracle Cloud Oracle's…
A software developer faced multiple rejections when attempting to host a content management system (CMS) site on various cloud providers. The challenge extended to obtaining a free and publicly accessible hosting solution for the Laravel-based CMS.
Initially, the developer attempted Oracle Cloud's Always Free tier, which offered 4 ARM cores and 24GB RAM without any cost. However, the developer encountered issues with Oracle's aggressive identity verification process, which rejected virtual and prepaid cards commonly used by individuals outside the US/EU.
The developer then tried Hetzner, a reputable and cheap cloud provider. They were able to create an account to pair with Laravel Forge, but their attempt was ultimately rejected without an explanation. This happened despite the provider's reputation for transparent communication and easy setup.
The developer's final attempt was with Cloudways, which offered managed PHP hosting and full SSH access with Laravel support. Despite successfully setting up their CMS on Cloudways during the free trial period, the free trial expired, leaving the developer searching for an alternative solution.
Realizing that their Docker setup was already functioning efficiently on their personal laptop, the developer questioned the necessity of external hosting. The main obstacles in transitioning from local development to public hosting were obtaining a domain name with HTTPS and navigating through complex server configurations. Cloudflare Tunnel provided a solution to both of these issues by establishing a secure, outbound-only connection from the developer's machine to Cloudflare's edge, eliminating the need for inbound ports, router configurations, and handcrafted server setups.
With Cloudflare Tunnel in place, the developer was able to make their domain publicly accessible and served using HTTPS. The entire process took merely twenty minutes, allowing the developer to demonstrate their CMS to a client. While this setup is not a replacement for a fully-fledged, reliable hosting environment, it offers a free and mostly-up solution for specific scenarios such as client demos, side projects, or temporary deployments while a client sorts out their budget for actual hosting.
The developer shared their experience by creating an open-source toolkit called selfhost-tunnel-kit. This library provides an interactive script that automates the entire setup process, including installing Cloudflare Tunnel, authenticating, creating the tunnel, configuring DNS, and persisting the service. The toolkit also includes documentation addressing common issues encountered during the setup, making it applicable to any Docker-based application.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.