docker-compose.e2e.yml
Rama main · réplica de lectura del repositorio original.
services:
llm-stub:
image: python:3.14.7-slim-bookworm@sha256:416f0db2a2b561945630cef9877a7ea0581b27449eb9fd9df42f03e1b74b5b63
working_dir: /app
command: [python3, mock_openai.py]
volumes:
- ./tests/e2e:/app:ro
networks:
- novel-net
ports:
- 127.0.0.1:${E2E_LLM_STUB_PORT:-18080}:18080
healthcheck:
test: [CMD, python3, -c, "import urllib.request; urllib.request.urlopen('http://127.0.0.1:18080/health')"]
interval: 1s
timeout: 2s
retries: 10
user-service:
environment:
LLM_API_URL: http://llm-stub:18080
depends_on:
llm-stub:
condition: service_healthy
novel-service:
environment:
LLM_API_URL: http://llm-stub:18080
LLM_ALLOW_INSECURE_HTTP: "true"
IMAGE_GEN_API_URL: http://llm-stub:18080
IMAGE_GEN_API_KEY: e2e-only
depends_on:
llm-stub:
condition: service_healthy
agent-service:
environment:
LLM_API_URL: http://llm-stub:18080
LLM_ALLOW_INSECURE_HTTP: "true"
EMBEDDING_PROVIDER: e2e
EMBEDDING_API_URL: http://llm-stub:18080
EMBEDDING_MODEL: text-embedding-3-small
depends_on:
llm-stub:
condition: service_healthy
narrative-service:
environment:
LLM_API_URL: http://llm-stub:18080
LLM_ALLOW_INSECURE_HTTP: "true"
depends_on:
llm-stub:
condition: service_healthy
gateway:
ports:
- 127.0.0.1:${E2E_GATEWAY_PORT:-18081}:8080