Přeskočit obsah

Nasazení (Docker)

Viz Provoz a nasazení pro kompletní dokumentaci Docker Compose a produkčního nasazení.


Přehled kontejnerů

┌─────────────────────────────────────────────────────┐
│                   Docker Compose                     │
│                                                      │
│  ┌──────────┐   ┌──────────┐   ┌──────────────────┐│
│  │   api    │   │   web    │   │        db        ││
│  │  :8080   │   │  :8080   │   │  PostgreSQL 17   ││
│  │  :8081   │   │          │   │     :5432        ││
│  └──────────┘   └──────────┘   └──────────────────┘│
│                                                      │
│  (volitelně) ┌──────────┐                           │
│              │  print   │                           │
│              └──────────┘                           │
└─────────────────────────────────────────────────────┘

Všechny kontejnery běží pod neprivilegovaným uživatelem (nonrootuser, UID 1000).


Prostředí

Hodnota ASPNETCORE_ENVIRONMENT Popis
Development Lokální vývoj — Swagger, detailní logy
Docker Docker Compose — env var substituce v appsettings
Production Produkce — minimální logy, bez Swagger

Diagnostický endpoint /ai/status

Eva.Manager (kontejner web) exponuje anonymní diagnostický endpoint pro ověření stavu AI konfigurace:

GET /ai/status

Příklad odpovědi:

{
  "configured": true,
  "keyPrefix": "sk-proj-",
  "provider": "OpenAI",
  "model": "gpt-4o-mini",
  "clientType": "OpenAIChatClient",
  "timestamp": "2026-05-25T10:30:00Z"
}

Pokud API klíč chybí, configured bude false a clientType bude DisabledChatClient. Endpoint je dostupný bez autentizace a slouží výhradně pro provozní diagnostiku.

# Ověření z příkazové řádky
curl http://localhost:8080/ai/status

Viz také Konfigurace AI Chat pro popis env proměnných a priority konfigurace.