Skip to main content

Why we moved to self-hosted services

A few DIY tools on a table, with a piece of wood and some wood shavings.

Once upon a time

When Refactory was founded – 8 years ago – the strategy was to only use external services (SaaS); my previous experiences of managing everything on-premise looked too daunting for what was then a one-man company starting from scratch. So I created subscriptions for several different services like web hosting, mail hosting, uptime monitoring and so on.

Fast forward 8 years and we’re moving everything to self-hosted again.

This is what Refactory currently uses as a self-hosted service:

  • GitLab for version control / repository hosting
  • OpenObserve for observability (logs & metrics)
  • Matomo for web analytics
  • Mailpit for email testing (catchall)
  • Kuma for uptime monitoring
  • n8n for workflow automation

Even if we say that ourselves, that list is already impressive and it may expand shortly.

So, why is that happening?

The road to self-hosting

First and foremost, dealing with servers and server related issues is something we do on a daily basis anyway. We’re not your typical software house: we offer a broader support that includes infrastructure. So managing a self-hosted service is within our skills and habits.

This is not, by itself, a reason to move to self hosting but it definitely makes it much easier, as we knew we could do it anytime if we wanted to. At that point, several other reasons combined to push us in that direction.

The team grew.
This means a) additional costs for external services and b) more people that could manage internal services, making it a more sustainable endeavour.

The servers grew.
Meanwhile, several of our customers asked us to take care of the infrastructure for their projects, so we had to keep our sysop skills sharp and honed.

Opensource is going strong.
Lots of services are available to be used in self-hosted mode in exchange for little or no fees (we ❤️ open source).

Docker is going strong.
Starting a service on your own server is easier than it ever was and also cost-efficient, as you don’t need ten different servers each with its own custom dependencies.

The world changed.
To be completely honest, given the current state of the world we don’t mind having a bit more control on our own data.

And of course, AI.
MCP servers and agents may reduce the time needed to configure any service to a matter of minutes.

Now what?

There are still services we did not yet move into self-hosting – mainly project management and time tracking tools – but it’s probably just a matter of time and finding a stable enough alternative.

Our most important mission, though, is to help other companies make the move to self-hosted services. We already manage self-hosted services for some customers, and it gets easier each time as we build specialized expertise.

Important note: currently, we do not plan to re-sell those services as SaaS or PaaS. For our customers, that would just mean moving from one vendor to another, even with – possibly – some advantages. We would prefer to help and support those services on behalf of our customers, much like we do for their software projects.

If you are interested in moving to self-hosted services to spend less and have greater control over your data, get in touch!

Foto di benjamin lehman su Unsplash