Moving an app from shared hosting to Oracle Cloud with Coolify

CrewSpace outgrew its first home. So I gave it a server of its own, for free.

Sections (5)

The first version of CrewSpace, our team’s task app, lived on shared hosting. It was the obvious place to start. Cheap, easy, and someone else looks after the server.

Then the app got heavy, and I wanted to add real-time chat. Shared hosting and I had to have a conversation.

What shared hosting actually is

Shared hosting is renting a room in a big shared house. You get your space, the landlord handles the plumbing, and it’s cheap because hundreds of other people are in the same building.

It’s brilliant for websites. For apps, it’s more awkward. You share the building’s power with everyone else, you can’t install whatever you want, and some things simply aren’t allowed. Keeping lots of connections open all the time, which is exactly what live chat needs, is usually one of them.

Why CrewSpace outgrew it

I built the first version in Next.js because that was the only framework I knew back then. It worked, but it was a lot of framework for a small shared plan, and it started to feel heavy.

Chat was the deciding factor. I wanted CrewSpace to replace both our task tool and our chat tool, and chat means messages appearing instantly. That needs a server that holds a live connection open to every person using the app. That’s not a job for a room in a shared house.

So I rebuilt the app with React, Express and Socket.io (the bit that handles live messages), and moved it somewhere it could breathe.

The new home: Oracle Cloud

Oracle Cloud’s free tier includes an ARM-based server with a genuinely useful amount of memory and processing power, free, permanently. The catch is that it’s just a server. No control panel, no one-click installs, no landlord. Everything is yours to set up, including the mistakes.

That’s where Coolify comes in.

Coolify: your own hosting platform

Coolify is an open-source tool you install on your own server that gives you the easy parts of a paid hosting platform. You connect a Git repository (where your code lives), and Coolify handles the rest:

  • Builds the app into a Docker container every time you push new code.
  • Sets up the database, in our case PostgreSQL.
  • Handles HTTPS certificates automatically.
  • Restarts things if they fall over.

It’s the convenience of a hosting platform with none of the monthly bill. The trade-off is that when something breaks, the support team is me.

I did look at Dokploy, a lighter alternative that uses less memory while sitting idle. Coolify won because it did everything I needed and I’d rather spend my evenings building the app than tuning the platform underneath it.

Was it worth it?

The app now runs on hardware that’s far more capable than the shared plan, costs nothing, and can do things shared hosting simply wouldn’t allow. Live chat works. Multiple companies can use it, each in their own private space.

The bigger win was confidence. Once you’ve moved one real app onto your own server, the next one isn’t scary. This website and the mail server followed onto the same kind of setup.

Shared hosting is still the right answer for plenty of projects. It stops being the right answer the day your app needs to hold a conversation.