Skip to content

Services and ports

The local stack is defined in deploy/compose.yaml. It runs 21 services by default, adds optional services through Compose profiles, and starts one model server container for each deployed model. To connect to these services, see Service endpoints.

Local stack

Host ports bind to 127.0.0.1 unless KIONGA_BIND_ADDRESS is set; see Network exposure. Each port variable changes the host port only; services keep talking to each other on the container port.

Service Role Image or build Host port (variable)
gateway Kionga console and API Built from platform 8080 (GATEWAY_PORT)
dex Single sign-on broker (OIDC issuer) ghcr.io/dexidp/dex:v2.46.0 5556 (DEX_PORT)
glauth Test LDAP directory for Dex glauth/glauth:v2.5.4 None
postgres PostgreSQL with pgvector: Kionga records, MLflow, Langfuse, agent checkpoints and memory pgvector/pgvector:pg16 5432 (POSTGRES_PORT)
redis Online feature store redis:7.4.5-alpine 6379 (REDIS_PORT)
kafka Events, LLM traces and real-time streams apache/kafka:3.9.1 9092 (KAFKA_PORT)
kafka-rest HTTP access to Kafka (Karapace, Confluent-compatible) ghcr.io/aiven-open/karapace:6.1.4 8082 (KAFKA_REST_PORT)
objectstore S3-compatible object storage (RustFS) and its web console rustfs/rustfs:1.0.1 9000 (OBJECTSTORE_PORT), 9001 (OBJECTSTORE_CONSOLE_PORT)
objectstore-init Creates the storage buckets, then exits mlaiops-mlflow, built from deploy/mlflow None
mlflow Experiment tracking and model registry mlaiops-mlflow, built from deploy/mlflow 15000 (MLFLOW_PORT); container port 5000
feature-gateway Online feature lookups Built from platform 8083 (FEATURE_GATEWAY_PORT)
storage-proxy Object storage browsing and signed URLs Built from platform 8084 (STORAGE_PROXY_PORT)
prefect-server Pipeline engine prefecthq/prefect:3-latest 4200 (PREFECT_PORT)
pipeline-runner Runs Kionga's pipeline flows, including container steps Built from pipeline-runner None
serving-manager Starts and stops model server containers Built from serving 8085 (SERVING_MANAGER_PORT)
agent-runtime Shared agent runtime Built from agent-runtime 19000 (AGENT_RUNTIME_PORT); container port 9000
trace-proxy LLM egress that records OpenAI-protocol calls Built from trace-proxy 8081 (TRACE_PROXY_PORT)
langfuse LLM and agent observability, prompt library langfuse/langfuse:2 3000 (LANGFUSE_PORT)
realtime-processor Kafka stream scoring for the real-time examples Built from agent-runtime None
feature-materializer Applies feature definitions and fills the online store, then exits The agent-runtime image None
jupyter Jupyter workbench, opened through the console Built from workspace 8888 (JUPYTER_PORT), always 127.0.0.1

Optional services

Service Profile Role Host port
ide ide Browser IDE sharing the workbench files, opened through the console. Start it with make -C deploy ide-up. None
log-exporter log-export Ships Kionga logs to Elasticsearch or OpenSearch 8086 (LOG_EXPORTER_PORT), always 127.0.0.1
elasticsearch log-export-es Local Elasticsearch to try log export 9200, always 127.0.0.1
opensearch log-export-os Local OpenSearch to try log export 9201, always 127.0.0.1

See Log export.

Services outside the stack

  • Model servers are containers that the serving manager starts for each deployed model version. They do not appear in deploy/compose.yaml.
  • OpenFaaS or faasd runs functions. It is not part of the stack; connect one with OPENFAAS_URL.

Health checks

Service Health check
gateway GET /api/v1/health (process is up) and GET /api/v1/ready (includes the database)
feature-gateway, storage-proxy, serving-manager, trace-proxy, agent-runtime GET /healthz
postgres, redis, kafka, kafka-rest, objectstore, mlflow, dex, prefect-server, jupyter Docker health check, shown by docker compose ps
make -C deploy local-status

Startup order and restarts

Compose starts services in dependency order: PostgreSQL, Kafka, object storage and Dex first, then MLflow and the services that need them. objectstore-init and feature-materializer run once and exit; make -C deploy local-status shows them as exited. Every other service restarts automatically (restart: unless-stopped) unless you stop the stack.

Kubernetes package

The Helm chart in deploy/helm/kionga runs these components. The database, identity provider, Kafka REST, MLflow, pipeline engine and object storage are prerequisites you provide.

Component Replicas (default) Port Health, readiness
gateway 3, autoscaling to 10 8080 /api/v1/health, /api/v1/ready
operator 2 8082 /healthz, /readyz
integration-worker 2 8086 /healthz, /readyz
feature-gateway 2 8083 /healthz
storage-proxy 2 8084 /healthz
trace-proxy 2 8081 /healthz

The operator also creates a workspace for each user and a runtime for each agent. See Deploy on Kubernetes.

DOCUMENTATION ASSISTANT

Ask Kionga

Find the right guide, without leaving your page.

Documentation search · Answers link to the source.