langchainjs Docker & Self-Hosted Deployment

GitHub

The agent engineering platform

18,023 stars TypeScript TypeScript 1 file ยท ~9,078 tokens
RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/node
2. Docker Run (1-Click Launch) docker run -d --name langchainjs --restart always node:22
3. Podman Run podman run -d --name langchainjs --restart always node:22
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/node:22
5. ORAS Pull (OCI Artifact) oras pull node:22
6. Compose Deployment docker compose up -d
dependency_range_tests/docker-compose.yml
Download .yml
services:
  # LangChain
  langchain-latest-deps:
    image: node:22
    environment:
      PUPPETEER_SKIP_DOWNLOAD: "true"
      PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
      COHERE_API_KEY: ${COHERE_API_KEY}
    working_dir: /app
    volumes:
      - ../libs/langchain:/langchain
      - ../libs/langchain-core:/libs/langchain-core
      - ../libs/langchain-textsplitters:/libs/langchain-textsplitters
      - ../libs/providers/langchain-openai:/libs/langchain-openai
      - ../libs/providers/langchain-anthropic:/libs/langchain-anthropic
      - ../libs/providers/langchain-aws:/libs/langchain-aws
      - ../libs/providers/langchain-cohere:/libs/langchain-cohere
      - ../libs/providers/langchain-fireworks:/libs/langchain-fireworks
      - ../libs/providers/langchain-xai:/libs/langchain-xai
      - ../internal:/internal
      - ./scripts:/scripts
    command: bash /scripts/langchain/test-with-latest-deps.sh
  langchain-lowest-deps:
    image: node:22
    environment:
      PUPPETEER_SKIP_DOWNLOAD: "true"
      PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
      COHERE_API_KEY: ${COHERE_API_KEY}
    working_dir: /app
    volumes:
      - ../libs/langchain:/langchain
      - ../libs/langchain-core:/libs/langchain-core
      - ../libs/langchain-textsplitters:/libs/langchain-textsplitters
      - ../libs/providers/langchain-openai:/libs/langchain-openai
      - ../libs/providers/langchain-anthropic:/libs/langchain-anthropic
      - ../libs/providers/langchain-aws:/libs/langchain-aws
      - ../libs/providers/langchain-cohere:/libs/langchain-cohere
      - ../libs/providers/langchain-fireworks:/libs/langchain-fireworks
      - ../libs/providers/langchain-xai:/libs/langchain-xai
      - ../internal:/internal
      - ./scripts:/scripts
    command: bash /scripts/langchain/test-with-lowest-deps.sh

  # OpenAI
  # openai-latest-deps:
  #   image: node:22
  #   environment:
  #     PUPPETEER_SKIP_DOWNLOAD: "true"
  #     PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
  #     COHERE_API_KEY: ${COHERE_API_KEY}
  #   working_dir: /app
  #   volumes:
  #     - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
  #     - ../turbo.json:/turbo.json
  #     - ./scripts/with_standard_tests/openai/node/package.json:/package.json
  #     - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
  #     - ../libs/providers/langchain-openai:/libs/providers/langchain-openai
  #     - ../internal:/internal
  #     - ./scripts:/scripts
  #   command: bash /scripts/with_standard_tests/openai/test-with-latest-deps.sh
  # openai-lowest-deps:
  #   image: node:22
  #   environment:
  #     PUPPETEER_SKIP_DOWNLOAD: "true"
  #     PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
  #     COHERE_API_KEY: ${COHERE_API_KEY}
  #   working_dir: /app
  #   volumes:
  #     - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
  #     - ../turbo.json:/turbo.json
  #     - ./scripts/with_standard_tests/openai/node/package.json:/package.json
  #     - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
  #     - ../libs/providers/langchain-openai:/libs/providers/langchain-openai
  #     - ../internal:/internal
  #     - ./scripts:/scripts
  #   command: bash /scripts/with_standard_tests/openai/test-with-lowest-deps.sh

  # Anthropic
  # anthropic-latest-deps:
  #   image: node:22
  #   environment:
  #     PUPPETEER_SKIP_DOWNLOAD: "true"
  #     PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
  #     COHERE_API_KEY: ${COHERE_API_KEY}
  #   working_dir: /app
  #   volumes:
  #     - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
  #     - ../turbo.json:/turbo.json
  #     - ./scripts/with_standard_tests/anthropic/node/package.json:/package.json
  #     - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
  #     - ../libs/providers/langchain-anthropic:/libs/providers/langchain-anthropic
  #     - ../internal:/internal
  #     - ./scripts:/scripts
  #   command: bash /scripts/with_standard_tests/anthropic/test-with-latest-deps.sh
  # anthropic-lowest-deps:
  #   image: node:22
  #   environment:
  #     PUPPETEER_SKIP_DOWNLOAD: "true"
  #     PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
  #     COHERE_API_KEY: ${COHERE_API_KEY}
  #   working_dir: /app
  #   volumes:
  #     - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
  #     - ../turbo.json:/turbo.json
  #     - ./scripts/with_standard_tests/anthropic/node/package.json:/package.json
  #     - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
  #     - ../libs/providers/langchain-anthropic:/libs/providers/langchain-anthropic
  #     - ../internal:/internal
  #     - ./scripts:/scripts
  #   command: bash /scripts/with_standard_tests/anthropic/test-with-lowest-deps.sh

  # Google VertexAI
  google-vertexai-latest-deps:
    image: node:22
    environment:
      PUPPETEER_SKIP_DOWNLOAD: "true"
      PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
      COHERE_API_KEY: ${COHERE_API_KEY}
    working_dir: /app
    volumes:
      - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
      - ../turbo.json:/turbo.json
      - ./scripts/with_standard_tests/google-vertexai/node/package.json:/package.json
      - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
      - ../libs/providers/langchain-google-vertexai:/libs/providers/langchain-google-vertexai
      - ../internal:/internal
      - ./scripts:/scripts
    command: bash /scripts/with_standard_tests/google-vertexai/test-with-latest-deps.sh
  google-vertexai-lowest-deps:
    image: node:22
    environment:
      PUPPETEER_SKIP_DOWNLOAD: "true"
      PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
      COHERE_API_KEY: ${COHERE_API_KEY}
    working_dir: /app
    volumes:
      - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
      - ../turbo.json:/turbo.json
      - ./scripts/with_standard_tests/google-vertexai/node/package.json:/package.json
      - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
      - ../libs/providers/langchain-google-vertexai:/libs/providers/langchain-google-vertexai
      - ../internal:/internal
      - ./scripts:/scripts
    command: bash /scripts/with_standard_tests/google-vertexai/test-with-lowest-deps.sh

  # Cohere
  cohere-latest-deps:
    image: node:22
    environment:
      PUPPETEER_SKIP_DOWNLOAD: "true"
      PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
      COHERE_API_KEY: ${COHERE_API_KEY}
    working_dir: /app
    volumes:
      - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
      - ../turbo.json:/turbo.json
      - ./scripts/with_standard_tests/cohere/node/package.json:/package.json
      - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
      - ../libs/providers/langchain-cohere:/libs/providers/langchain-cohere
      - ../internal:/internal
      - ./scripts:/scripts
    command: bash /scripts/with_standard_tests/cohere/test-with-latest-deps.sh
  # cohere-lowest-deps:
  #   image: node:22
  #   environment:
  #     PUPPETEER_SKIP_DOWNLOAD: "true"
  #     PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
  #     COHERE_API_KEY: ${COHERE_API_KEY}
  #   working_dir: /app
  #   volumes:
  #     - ../pnpm-workspace.yaml:/pnpm-workspace.yaml
  #     - ../turbo.json:/turbo.json
  #     - ./scripts/with_standard_tests/cohere/node/package.json:/package.json
  #     - ../libs/langchain-standard-tests:/libs/langchain-standard-tests
  #     - ../libs/providers/langchain-cohere:/libs/providers/langchain-cohere
  #     - ../internal:/internal
  #     - ./scripts:/scripts
  #   command: bash /scripts/with_standard_tests/cohere/test-with-lowest-deps.sh