CASE STUDY
3geeks logo

3geeks Infra — self-hosted prod

The production backbone behind 3geeks — the studio runs three Mac Mini servers; I consolidated every live *.3geeks.fr service on one of them with Coolify, Traefik, and Cloudflare Tunnel so apps ship without depending on a single PaaS.

CoolifyTraefikCloudflare TunnelDocker

Impact at a glance

Real infrastructure running real products — not a homelab demo. Every green-stack tool on this portfolio that ends in .3geeks.fr lands on this stack.

8+apps on self-hosted Coolify
5public *.3geeks.fr domains
3Vercel → self-host migrations
3Mac Mini servers

The problem

3geeks ships fast — Prompt Hub, PromptOptim, and more — but Vercel bills add up, env vars scatter across dashboards, and there is no single place to see what is actually running in production.

The studio needed sovereign hosting: one deploy pipeline, one reverse proxy, one tunnel — and the ability to migrate apps off Vercel without rewriting them.

The stack

3geeks operates three on-prem Mac Mini servers. Production for *.3geeks.fr runs on one of them — OrbStack with a Linux VM hosting Coolify. Traefik terminates TLS on port 443 inside the private network. Cloudflare Tunnel exposes selected hostnames to the internet — every public route goes through Traefik, never directly to a container port.

Mac Mini · prod node1 of 3 studio servers · OrbStack VM
Coolify8+ apps · PostgreSQL · deploys
TraefikRouting · TLS termination
CloudflareTunnel · DNS · edge proxy

Golden path — ship to prod

The deploy workflow is repeatable for every new service: push code with a Dockerfile and a health endpoint, let Coolify build and deploy, register the hostname in Cloudflare DNS and tunnel ingress, verify with a health check. Migrations from Vercel add a permanent redirect before cutting the old URL.

Git pushDockerfile + health check → main
CoolifyBuild, env vars, deploy
TraefikReverse proxy · TLS :443
CF TunnelIngress → private origin
Livehttps://*.3geeks.fr

What runs on it

The cluster hosts the studio's live products — frontends, APIs, and PostgreSQL databases managed by Coolify:

  • 3geeks.fr — studio landing
  • prompt-hub.3geeks.fr — Prompt Hub
  • prompt-optim.3geeks.fr — PromptOptim

Private studio services (internal APIs, team tools) stay off the public ingress — only documented public products are exposed through the tunnel.

What I operate

I designed and run the prod stack on our primary Mac Mini — Coolify app provisioning, Traefik routing rules, Cloudflare DNS and tunnel ingress, PostgreSQL on Coolify, env-var management, health monitoring, and Vercel migrations with zero-downtime redirects. The studio's two other Mac Minis handle separate workloads outside this case study.

The goal is not “cheap hosting” — it is controlled hosting: know exactly what runs where, deploy in one push, and keep European data on infrastructure we operate.

Want the full story?

3geeks Infra is the platform layer under every green-stack product at 3geeks — from intent-to-website generation to mindful AI tools.