Saltar al contenido principal

Despliegue con Docker

TraceAgent ofrece imágenes de Docker ya construidas para el servidor y la UI.

Imágenes​

ComponenteImagen
Servidorghcr.io/lixussoftware/trace-agent-server:latest
UIghcr.io/lixussoftware/trace-agent-ui:latest

Docker Compose​

Crea un docker-compose.yml para ejecutar los dos servicios:

docker-compose.yml
version: "3.8"

services:
server:
image: ghcr.io/lixussoftware/trace-agent-server:latest
ports:
- "8000:8000"
environment:
- TRACE_AGENT_DATABASE_URL=sqlite:///./data/trace_agent.db
- TRACE_AGENT_AUDIT_METRICS_ENABLED=true
volumes:
- trace-data:/app/data

ui:
image: ghcr.io/lixussoftware/trace-agent-ui:latest
ports:
- "8080:8080"
environment:
- TRACE_AGENT_SERVER_URL=http://server:8000
depends_on:
- server

volumes:
trace-data:
docker compose up -d

La UI estará disponible en http://localhost:8080 y la API del servidor en http://localhost:8000.

Receptor OpenTelemetry​

El contenedor del servidor también recibe trazas OpenTelemetry por el mismo puerto, en http://localhost:8000/v1/traces. No hace falta ningún puerto ni servicio adicional: apunta el exportador OTLP de tu agente a esa URL. Consulta la ingesta OpenTelemetry.

Para ajustar o desactivar el receptor, añade estas variables al environment del servicio server:

environment:
- TRACE_AGENT_OTLP_ENABLED=true
- TRACE_AGENT_OTLP_MAX_BODY_BYTES=10000000

Con PostgreSQL​

Para despliegues en producción, usa PostgreSQL en lugar de SQLite:

docker-compose.prod.yml
version: "3.8"

services:
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: traceagent
POSTGRES_USER: traceagent
POSTGRES_PASSWORD: changeme
volumes:
- pg-data:/var/lib/postgresql/data

server:
image: ghcr.io/lixussoftware/trace-agent-server:latest
ports:
- "8000:8000"
environment:
- TRACE_AGENT_DATABASE_URL=postgresql://traceagent:changeme@db:5432/traceagent
depends_on:
- db

ui:
image: ghcr.io/lixussoftware/trace-agent-ui:latest
ports:
- "8080:8080"
environment:
- TRACE_AGENT_SERVER_URL=http://server:8000
depends_on:
- server

volumes:
pg-data:
peligro

Cambia el POSTGRES_PASSWORD por defecto antes de desplegar en producción.

Verificar​

# Comprueba el estado del servidor
curl http://localhost:8000/health

# Abre la UI
open http://localhost:8080

¿Y ahora qué?​

💬 Comentarios