Files
fuzzforge_ai/docker-compose.cognee.yaml
2025-10-03 20:41:46 +02:00

119 lines
3.7 KiB
YAML

version: "3.9"
x-cognee-env-file: &cognee_env_file ${COGNEE_SERVICE_ENV_FILE:-./cognee/.env.service}
services:
cognee:
container_name: cognee-service
build:
context: ./cognee/cognee
dockerfile: Dockerfile
env_file:
- *cognee_env_file
environment:
ENABLE_BACKEND_ACCESS_CONTROL: "true"
STORAGE_BACKEND: "s3"
DATA_ROOT_DIRECTORY: ${DATA_ROOT_DIRECTORY:-s3://cognee-bucket/data}
SYSTEM_ROOT_DIRECTORY: ${SYSTEM_ROOT_DIRECTORY:-s3://cognee-bucket/system}
# Uppercase for standard env
AWS_ENDPOINT_URL: ${AWS_ENDPOINT_URL:-http://fuzzforge-minio:9000}
AWS_REGION: ${AWS_REGION:-us-east-1}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-fuzzforge}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-fuzzforge123}
# Lowercase for boto3/s3fs
aws_endpoint_url: ${AWS_ENDPOINT_URL:-http://fuzzforge-minio:9000}
aws_region: ${AWS_REGION:-us-east-1}
aws_access_key_id: ${AWS_ACCESS_KEY_ID:-fuzzforge}
aws_secret_access_key: ${AWS_SECRET_ACCESS_KEY:-fuzzforge123}
# For LanceDB object_store
S3_ENDPOINT: ${AWS_ENDPOINT_URL:-http://fuzzforge-minio:9000}
S3_REGION: ${AWS_REGION:-us-east-1}
S3_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-fuzzforge}
S3_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-fuzzforge123}
S3_ALLOW_HTTP: "true"
DB_PROVIDER: ${DB_PROVIDER:-postgres}
DB_HOST: ${DB_HOST:-cognee-postgres}
DB_PORT: ${DB_PORT:-5432}
DB_NAME: ${DB_NAME:-cognee_db}
DB_USERNAME: ${DB_USERNAME:-cognee}
DB_PASSWORD: ${DB_PASSWORD:-cognee}
HOST: 0.0.0.0
LOG_LEVEL: ${COGNEE_LOG_LEVEL:-INFO}
volumes:
- cognee-system:/app/.cognee_system
- cognee-data:/app/.data_storage
ports:
- "${COGNEE_SERVICE_PORT:-18000}:8000"
depends_on:
- cognee-postgres
- cognee-minio-setup
networks:
- fuzzforge_temporal_network
cognee-postgres:
image: pgvector/pgvector:pg17
container_name: cognee-postgres
env_file:
- *cognee_env_file
environment:
POSTGRES_USER: ${DB_USERNAME:-cognee}
POSTGRES_PASSWORD: ${DB_PASSWORD:-cognee}
POSTGRES_DB: ${DB_NAME:-cognee_db}
volumes:
- cognee-postgres:/var/lib/postgresql/data
ports:
- "5433:5432"
networks:
- fuzzforge_temporal_network
cognee-minio-setup:
image: minio/mc:latest
container_name: cognee-minio-setup
env_file:
- *cognee_env_file
entrypoint: >
/bin/sh -c "
echo 'Setting up Cognee bucket in MinIO...';
sleep 5;
mc alias set fuzzforge http://fuzzforge-minio:9000 fuzzforge fuzzforge123;
mc mb fuzzforge/cognee-bucket --ignore-existing;
mc anonymous set private fuzzforge/cognee-bucket;
echo 'Cognee bucket setup complete!';
exit 0;
"
networks:
- fuzzforge_temporal_network
cognee-mcp:
build:
context: .
dockerfile: docker/Dockerfile.cognee_mcp
container_name: cognee-mcp
env_file:
- *cognee_env_file
environment:
COGNEE_TENANTS_FILE: ${COGNEE_TENANTS_FILE:-/config/cognee.tenants.json}
COGNEE_SERVICE_URL: ${COGNEE_SERVICE_URL:-http://cognee-service:8000}
COGNEE_INTERNAL_SERVICE_URL: ${COGNEE_INTERNAL_SERVICE_URL:-http://cognee-service:8000}
MCP_HOST: 0.0.0.0
MCP_PORT: ${MCP_PORT:-18001}
MCP_HTTP_PATH: ${MCP_HTTP_PATH:-/mcp}
volumes:
- ${COGNEE_TENANTS_FILE:-/dev/null}:/config/cognee.tenants.json:ro
depends_on:
cognee:
condition: service_started
ports:
- "${MCP_HTTP_PORT:-18001}:18001"
networks:
- fuzzforge_temporal_network
networks:
fuzzforge_temporal_network:
external: true
volumes:
cognee-system:
cognee-data:
cognee-postgres: