Ctrl K
ComunidadGuías…

docker-compose.dev.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
services:
  clickhouse:
    # The CI matrix spans ClickHouse versions: -azure pins the oldest line CI
    # covers (26.3 LTS; events tables require the >=25.x text indexes /
    # enable_full_text_index), this config runs 26.8 LTS, and -redis-cluster
    # exercises the newest release.
    image: docker.io/clickhouse/clickhouse-server:26.8.36.3
    user: "101:101"
    container_name: ${CLICKHOUSE_CONTAINER_NAME:-langfuse-clickhouse}
    environment:
      CLICKHOUSE_DB: default
      CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse}
      CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-clickhouse}
    volumes:
      - langfuse_clickhouse_data:/var/lib/clickhouse
      - langfuse_clickhouse_logs:/var/log/clickhouse-server
    ports:
      - ${HOST_IP:-127.0.0.1}:${CLICKHOUSE_HTTP_PORT:-8123}:8123
      - ${HOST_IP:-127.0.0.1}:${CLICKHOUSE_NATIVE_PORT:-9000}:9000
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 1s
    depends_on:
      - postgres
    networks:
      - default

  minio:
    image: cgr.dev/chainguard/minio
    container_name: ${MINIO_CONTAINER_NAME:-langfuse-minio}
    entrypoint: sh
    # create the 'langfuse' bucket before starting the service
    command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
    environment:
      MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio}
      MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-miniosecret}
    ports:
      - ${HOST_IP:-127.0.0.1}:${MINIO_API_PORT:-9090}:9000
      - ${HOST_IP:-127.0.0.1}:${MINIO_CONSOLE_PORT:-9091}:9001
    volumes:
      - langfuse_minio_data:/data
    healthcheck:
      test: ["CMD", "mc", "ready", "local"]
      interval: 1s
      timeout: 5s
      retries: 5
      start_period: 1s
    networks:
      - default

  floci:
    profiles:
      - worker-tests
    image: docker.io/floci/floci:2.4.0-compat
    user: "0"
    container_name: ${FLOCI_CONTAINER_NAME:-langfuse-floci}
    environment:
      FLOCI_HOSTNAME: floci
      # Evaluates IAM trust and session policies, for the customer role auth tests.
      FLOCI_SERVICES_IAM_ENFORCEMENT_ENABLED: "true"
      FLOCI_INIT_HOOKS_TIMEOUT_SECONDS: 120
    ports:
      - ${HOST_IP:-127.0.0.1}:${FLOCI_PORT:-4566}:4566
    volumes:
      # Floci Lambda starts real Docker containers for function invocations.
      # See: https://floci.io/floci/services/lambda/
      - /var/run/docker.sock:/var/run/docker.sock
      # The init hook packages these local runner sources into Lambda ZIPs on startup.
      - ./scripts/code-eval-runners:/opt/code-eval-runners:ro
      - ./scripts/code-eval-runners/bootstrap-floci.py:/etc/floci/init/ready.d/01-bootstrap-code-eval-runners.py:ro
    networks:
      - default

  redis:
    image: docker.io/redis:7.2.4
    container_name: ${REDIS_CONTAINER_NAME:-langfuse-redis}
    restart: always
    command: >
      --requirepass ${REDIS_AUTH:-myredissecret}
      --maxmemory-policy noeviction
    ports:
      - ${HOST_IP:-127.0.0.1}:${REDIS_HOST_PORT:-6379}:6379
    networks:
      - default

  postgres:
    image: docker.io/postgres:${POSTGRES_VERSION:-17}
    container_name: ${POSTGRES_CONTAINER_NAME:-langfuse-postgres}
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 3s
      timeout: 3s
      retries: 10
    command: ["postgres", "-c", "log_statement=all"]
    environment:
      - POSTGRES_USER=${POSTGRES_USER:-postgres}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres}
      - POSTGRES_DB=${POSTGRES_DB:-postgres}
      - TZ=UTC
      - PGTZ=UTC
    ports:
      - ${HOST_IP:-127.0.0.1}:${POSTGRES_HOST_PORT:-5432}:5432
    volumes:
      - langfuse_postgres_data:/var/lib/postgresql/data
    networks:
      - default

volumes:
  langfuse_postgres_data:
    name: ${POSTGRES_VOLUME_NAME:-langfuse_postgres_data}
    driver: local
  langfuse_clickhouse_data:
    name: ${CLICKHOUSE_DATA_VOLUME_NAME:-langfuse_clickhouse_data}
    driver: local
  langfuse_clickhouse_logs:
    name: ${CLICKHOUSE_LOGS_VOLUME_NAME:-langfuse_clickhouse_logs}
    driver: local
  langfuse_minio_data:
    name: ${MINIO_VOLUME_NAME:-langfuse_minio_data}
    driver: local

networks:
  default:
    name: ${DOCKER_NETWORK_NAME:-langfuse-network}
    driver: bridge