# docker-compose to make it easier to spin up integration tests. # Services should use NON standard ports to avoid collision with # any existing services that might be used for development. # ATTENTION: When adding a service below use a non-standard port # increment by one from the preceding port. # For credentials always use `langchain` and `langchain` for the # username and password. version: "3" name: langchain-tests services: redis: image: redis/redis-stack-server:latest # We use non standard ports since # these instances are used for testing # and users may already have existing # redis instances set up locally # for other projects ports: - "6020:6379" volumes: - ./redis-volume:/data graphdb: image: graphdb ports: - "6021:7200" mongo: image: mongo:latest container_name: mongo_container ports: - "6022:27017" environment: MONGO_INITDB_ROOT_USERNAME: langchain MONGO_INITDB_ROOT_PASSWORD: langchain postgres: image: postgres:16 environment: POSTGRES_DB: langchain POSTGRES_USER: langchain POSTGRES_PASSWORD: langchain ports: - "6023:5432" command: | postgres -c log_statement=all healthcheck: test: [ "CMD-SHELL", "psql postgresql://langchain:langchain@localhost/langchain --command 'SELECT 1;' || exit 1", ] interval: 5s retries: 60 volumes: - postgres_data:/var/lib/postgresql/data pgvector: # postgres with the pgvector extension image: ankane/pgvector environment: POSTGRES_DB: langchain POSTGRES_USER: langchain POSTGRES_PASSWORD: langchain ports: - "6024:5432" command: | postgres -c log_statement=all healthcheck: test: [ "CMD-SHELL", "psql postgresql://langchain:langchain@localhost/langchain --command 'SELECT 1;' || exit 1", ] interval: 5s retries: 60 volumes: - postgres_data_pgvector:/var/lib/postgresql/data vdms: image: intellabs/vdms:latest container_name: vdms_container ports: - "6025:55555" volumes: postgres_data: postgres_data_pgvector: