AAble · průvodce
☁ Kde to běží

Vlastní infra. V Evropě.

Všechno, co vidíš v ekosystému — Portál, Slack bot, firemní paměť, trezor — běží na našich serverech v Německu. Pod naší kontrolou, šifrované, redundantní. Není to magic AWS, není to třetí strana, ke které jsme přivázaní.

Konkrétně: 12 serverů v Hetzner Cloudu, dvě německá datacentra (Frankfurt + Norimberk), Kubernetes 1.30, 29 namespaces, Patroni Postgres HA, Redis Sentinel, ~140 €/měsíc. Scale-out přes dvě DCs od 2026-05-08.

⌬ Tři důležité věci

Co o tom máš vědět.

🇪🇺

Data leží v Evropě

Servery jsou v Hetzner Cloud ve dvou německých lokalitách — Frankfurt (fsn1) a Norimberk (nbg1). GDPR-friendly — žádný transfer do USA, žádný tichý přístup třetích stran. Klient se ptá: máme jasnou odpověď.

🔁

Redundantní — dvě DCs současně

Aplikační workery běží ve dvou datacentrech najednou (3 K8s worker nody — jeden ve Frankfurtu, dva v Norimberku). Když celé jedno DC vypadne, druhé přebere. Pro tebe to znamená: žádné „je to mimo" ráno před schůzkou.

🛠

Vlastníme to my

Vše definované jako kód (Terraform + Kubernetes manifesty v Gitu). Když budeme chtít přesunout celý ekosystém jinam, můžeme za pár hodin. Žádný vendor lock-in, žádný „proprietary engine, který nikde jinde nezprovozníš".

🗺 Stav clusteru

Co konkrétně běží.

Pro PM, sales, vedení — abys mohl(a) klientovi odpovědět konkrétně, ne mlhavě.

🖥

Hardware — 12 VPS

  • K8s master (CPX22, Frankfurt)řídí cluster, vysoká dostupnost přes 3 instance
  • K8s worker (CPX32)1× Frankfurt + 2× Norimberk — aplikační pody
  • Postgres VPS (CPX32, Frankfurt)Patroni HA, synchronní replikace, nulový lag
  • Redis VPS (CPX22, Frankfurt)Sentinel cluster pro automatický failover
  • Load Balancer (CPX22, Frankfurt)HAProxy do K8s workerů, PROXY v2 protocol

Celkem ~140 €/měsíc. Floating IPv4 178.105.101.255 jako vstupní bod (failover-ready).

📦

Aplikační stack — 29 namespaces

  • 7
    System namespaceskube-system, traefik, cert-manager, …
  • 10
    Platform namespacesKeycloak, MCP server, API, Admin UI, Portal, workers, embedding, People, default-backend, …
  • 6
    App namespacesVaultwarden, PrivateBin, Portal, Debrief, LiteLLM, …
  • 6
    Observability + ostatníGrafana, Loki, Prometheus, exporters, NFS, Slack bot, …

Většina aplikací běží ve 2 replikách (rolling deploy bez výpadku).

⚙ Pod kapotou

Standardní, otevřené.

Vybíráme nástroje, které potkáš ve velkých firmách. Žádný proprietární stack, kterému nikdo jinde nerozumí.

Kubernetes

kubeadm 1.30 — standardní industry deploy, žádná proprietární distribuce. Cilium síť (VXLAN + WireGuard šifrování mezi nody), Traefik v3 jako ingress.

🐘

Postgres + pgvector

Patroni cluster (2 nody, synchronní replikace) mimo K8s — pro stabilitu. pgvector pro embedding/AI vyhledávání. Schema-per-app pattern (apps_able, apps_people, …).

🔴

Redis Sentinel

2 master/replica nody + 3 Sentinel pro quorum. Worker bus pro asynchronní úlohy (knowledge extraktor, audit flusher, consolidator, …).

🔐

HTTPS všude

cert-manager + Let's Encrypt — všechny certifikáty se obnovují samy. Žádné prošlé certy, žádné výjimky v browseru. PROXY protocol v2 = real client IP propaguje až do aplikací.

📡

Traefik + HAProxy

HAProxy LB (extern) → Traefik (K8s ingress) → app pod. DaemonSet na všech worker nodech, roundrobin load balancing přes 3 instance ve dvou DCs.

📜

Infra jako kód

Vše v Gitu — Terraform pro Hetzner provisioning, Kustomize pro K8s manifesty. Nový server = jedna změna v main.tf + terraform apply.

🧪

Lab — Contabo Proxmox

Druhý cluster pro experimenty a klientské migrace — vlastní dedicated server (Contabo Proxmox VE), 6 VMs, K8s + Rancher + Coolify PaaS. Na něm běží migrované klientské projekty před přesunem do prod.

Domény *.lab.able.cz, oddělené od produkce. Šahá se na to jen vědomě.

Prod — Hetzner Cloud

Produkční cluster pro všechno, co používáš — Portál, MCP, KC, Slack bot, Vaultwarden, Grafana, Admin UI. Striktní change management, deploy přes Git → Kustomize → kubectl apply.

Domény *.cloud.able.cz. Sem se nelaboruje, jen mergované změny.

✓ Co ti to dává

Spolehlivost, nezávislost.

Pro většinu zaměstnanců „kde to běží" znamená nic — dokud se to nezačne kazit. My to nasadili tak, aby se to nekazilo a aby klient slyšel důvěryhodnou odpověď, když se zeptá.

Klient: „Kde leží naše data?" → „V evropském datacentru, šifrovaná, pod naší kontrolou."
Klient: „Co když vypadne server?" → „Máme HA. Ostatní převezmou."
Klient: „Co když Hetzner zdraží?" → „Vyměníme."

  • 🇩🇪
    Data v Německu (Hetzner)Frankfurt + Norimberk · GDPR jurisdikce, žádný transfer mimo EU
  • 🔐
    HTTPS všude — Let's Encrypt přes cert-managercertifikáty se obnovují automaticky, žádné výjimky
  • 📜
    Logy 30 dní zpětně — Loki + Grafanaaudit trail pro klienty i pro nás
  • 🔁
    Patroni Postgres + Redis Sentinelsynchronní replikace, automatický failover
  • 🛡
    Provozujeme to sami — žádný třetí přístupk datům přistupujeme jen my, klient může auditovat
🤔 Proč ne AWS / Google Cloud

Záměrně jednodušší.

AWS je nejmocnější, ale taky nejdražší a nejvíc lock-in. Google Cloud podobně. Pro nás:

  • Předvídatelná cena — žádné účty navíc na konci měsícevíme dopředu, co zaplatíme
  • Naše data, naše podmínky — žádná třetí strananikdo jiný k nim nemá přístup
  • Kdybychom chtěli přesunout — můžeme, nejsme přivázanížádný lock-in na jednoho poskytovatele
  • GDPR v pořádku — klient se ptá, máme jasnou odpověď„v Evropě, pod naší kontrolou" zní líp než „někde u Amazonu"
„Infra je něco, o čem nemáš muset přemýšlet. Když si toho všimneš, znamená to, že se něco pokazilo. Naše práce je, abys nikdy nemusel(a)."