Skip to main content

self-hosted gitlab on kubernetes

Bring your own
datastores.

A GitLab Helm chart that wires the official GitLab subchart to first-class, in-cluster datastores — PostgreSQL HA, Valkey, SeaweedFS, and Traefik. There's nothing to install from a registry: fork it, tailor the values and images to your cluster, and deploy your own build.

the stack

Everything in-cluster, nothing hand-wavy

🐘primary + standby

PostgreSQL 18

Hand-rolled HA pair with async streaming replication and manual failover — no operator, no bundled single-pod DB.

⚡redis-compatible

Valkey

A vendored Valkey chart for GitLab’s caching and queues, with auto-generated credentials kept stable across upgrades.

🪣durable + cache

SeaweedFS

S3-compatible object storage — a durable instance for artifacts/LFS/registry, plus a disposable one for the runner cache.

🚦isolated class

Traefik v3

Ingress on its own class so it never collides with a cluster-wide controller. Also carries Git SSH and toolbox SSH.

🧩in-cluster

Bring your own datastores

You operate the backing services, in your cluster, under your control — production-grade, not evaluation defaults.

📦no prebuilt artifacts

Source you deploy

No published image, no packaged chart. You build the images and run helm install ./ — the supply chain stays yours.