Core Infrastructure Services
The VENI-AI platform relies on a suite of backing services to handle identity, persistence, and observability. All services are orchestrated via Docker Compose for local development.
🏗️ Service Architecture
The infrastructure uses a dedicated Docker network: veni-network.
1. Identity & Security
| Service | Image | External Port | Role |
|---|---|---|---|
| Keycloak | quay.io/keycloak/keycloak | 18080 | OIDC Identity Provider & SSO Hub. |
2. Data Persistence
| Service | Image | External Port | Role |
|---|---|---|---|
| Shell DB | postgres:15-alpine | 15433 | Central platform registry & user cache. |
| HRM DB | postgres:15-alpine | 15434 | Isolated database for the HRM satellite. |
| Keycloak DB | postgres:15-alpine | - | Internal storage for Keycloak state. |
| Redis | redis:7-alpine | 16379 | Caching layer for RBAC policies and state. |
| MinIO | minio/minio | 19000 / 19001 | S3-compatible object storage (Drive app). |
3. Monitoring & Observability
| Service | Image | External Port | Role |
|---|---|---|---|
| Grafana | grafana/grafana | 13000 | Unified dashboard for logs and metrics. |
| Prometheus | prom/prometheus | 19090 | Time-series database for system metrics. |
| Loki | grafana/loki | 13100 | Log aggregation engine. |
| Promtail | grafana/promtail | - | Ships Docker container logs to Loki. |
🔑 Default Developer Credentials
| Service | Username | Password |
|---|---|---|
| Keycloak Admin | admin | admin |
| Shell Database | shell | shell |
| MinIO Console | minioadmin | minioadmin |
| Grafana | admin | admin |
📊 Observability Stack
The platform is pre-configured with a "LGP" stack (Loki, Grafana, Prometheus).
Accessing Logs
- Open Grafana at
http://localhost:13000. - Navigate to Explore.
- Select Loki as the data source.
- Use labels like
{container_name="veni-shell-api"}to view real-time logs.
Accessing Metrics
- Open Prometheus at
http://localhost:19090. - Use the expression browser to query system health (e.g.,
up).
🛠️ Management Commands
bash
# Start all infrastructure
cd infrastructure && docker-compose up -d
# View infrastructure health
docker ps --filter "name=veni-"
# Check logs for a specific service
docker-compose logs -f grafana