Skip to content

Service → Database mapping

Source of truth. Před jakýmkoli DB dotazem VŽDY zkontroluj zde, ne .env.example.

pg-alfa (Hetzner PG 17 + pgBouncer)

  • Tailscale IP: 100.125.3.121
  • Public IP: 46.224.173.7 (jen pro Cerebro/Cortex/Fess které nemají Tailscale routing)
  • DNS: pg-alfa.studio60.cz
  • Detaily serveru: postgres.md
Služba DB name DB user Port Server
S60Auth hub s60_auth_hub s60_auth_hub_user 6432 hub-alfa
S60Auth prod s60_auth_prod s60_auth_prod_user 6432 prod-alfa
BadWolf hub s60_badwolf_hub s60_badwolf_hub_user 5432 hub-alfa
BadWolf prod s60_badwolf_prod s60_badwolf_prod_user 5432 prod-alfa
Pulse dev s60_pulse_dev s60_pulse_dev_user 6432 cerebro
Pulse hub s60_pulse_hub s60_pulse_hub_user 6432 hub-alfa
Pulse prod s60_pulse_prod s60_pulse_prod_user 6432 prod-alfa
BillIt hub s60_billit_hub s60_billit_hub_user 6432 hub-alfa
BillIt prod s60_billit_prod s60_billit_prod_user 6432 prod-alfa
S60Mail hub s60_mail_hub s60_mail_hub_user 6432 hub-alfa
S60Mail prod s60_mail_prod s60_mail_prod_user 6432 prod-alfa
N8N hub s60_n8n_hub s60_n8n_hub_user 5432 hub-alfa
N8N prod s60_n8n_prod s60_n8n_prod_user 5432 prod-alfa
GlitchTip glitchtip glitchtip 6432 sentinel + prod
CS pipeline bwcs s60_cs_user (owner) 6432 cortex
S60AI (single-env) s60_ai_prod s60_ai_prod_user 6432 (5432 funguje též) s60ai VPS (Hetzner, Tailscale)
Hive Scrapper hive_scrapper hive_scrapper_user 5432 Mac Mini (Libor)

Port pravidla

  • 6432 (pgBouncer) — default pro většinu služeb (transaction pooling, auth_query)
  • 5432 (PG přímo) — jen tam, kde služba potřebuje featury, které pgBouncer nepodporuje:
  • N8Nstatement_timeout startup parameter
  • BadWolf — SSL hardcoded (pgBouncer nepodporuje SSL passthrough přímo)

Debug DB users

Některé prod DB mají RO debug uživatele (NOLOGIN ve výchozím stavu). Jak povolit/zablokovat → postgres.md § Debug users.

Existující debug user DB Heslo
s60_billit_debug s60_billit_prod /root/secrets/billit/.env.prod.debug

Kde najít connection stringy

  • /root/secrets/<service>/.env.<env> na sentinelu pro připravu deployů
  • Real-time check uvnitř kontejneru: docker exec <container> env | grep DB_

Kritická pravidla

  • NIKDY nevěř .env.example — vždy /root/secrets/ (orthogonal: feedback_no_env_example.md)
  • PG přístup = vždy schválit s Liborem — sentinel nesmí samostatně přidávat UFW/pg_hba (orthogonal: feedback_pg_access_approval.md)
  • DO Managed PG je DEPRECATED — všechny prod služby migrovány na pg-alfa (Hetzner)

Změny

  • 2026-04-10: Auth hub+prod migrovány na pg-alfa (s60_auth_hub_user + s60_auth_prod_user, smazány legacy s60_hub_user + s60_prod_user)
  • 2026-04-10: GlitchTip prod migrován na pg-alfa
  • 2026-04-10: pgBouncer přepsán na auth_query (žádný userlist.txt)
  • 2026-03-20: s60_pulses60_pulse_dev (rename)