Files
bifrost/framework/docker-compose.yml
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

122 lines
3.1 KiB
YAML

# Bifrost Framework Development Services
#
# Supported Vector Stores:
# - Weaviate: Runs locally via this docker-compose (port 9000)
# - Redis: Runs locally via this docker-compose (port 6379)
# - Qdrant: Runs locally via this docker-compose (REST: 6333, gRPC: 6334)
# - Pinecone: Runs locally via Pinecone Local emulator (port 5081)
# For production, use cloud service with PINECONE_API_KEY and PINECONE_INDEX_HOST
# See: https://docs.pinecone.io/guides/operations/local-development
#
services:
postgres:
image: postgres:16-alpine
container_name: bifrost-postgres-fw
environment:
POSTGRES_USER: bifrost
POSTGRES_PASSWORD: bifrost_password
POSTGRES_DB: bifrost
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U bifrost -d bifrost"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- bifrost_network
redis:
image: redis/redis-stack:latest
container_name: bifrost-redis
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- bifrost_network
weaviate:
image: cr.weaviate.io/semitechnologies/weaviate:1.25.0
container_name: bifrost-weaviate
ports:
- "9000:8080"
- "50051:50051"
environment:
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
DEFAULT_VECTORIZER_MODULE: 'none'
CLUSTER_HOSTNAME: 'node1'
volumes:
- weaviate_data:/var/lib/weaviate
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/v1/.well-known/ready"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- bifrost_network
pinecone:
image: ghcr.io/pinecone-io/pinecone-index:latest
container_name: bifrost-pinecone
environment:
PORT: 5081
INDEX_TYPE: serverless
VECTOR_TYPE: dense
DIMENSION: 1536 # Matches text-embedding-3-small dimension
METRIC: cosine
ports:
- "5081:5081"
platform: linux/amd64
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5081/describe_index_stats"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- bifrost_network
qdrant:
image: qdrant/qdrant:v1.16.3
container_name: bifrost-qdrant
ports:
- "6333:6333"
- "6334:6334"
volumes:
- qdrant_data:/qdrant/storage
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:6333/readyz"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- bifrost_network
networks:
bifrost_network:
driver: bridge
volumes:
postgres_data:
driver: local
weaviate_data:
driver: local
redis_data:
driver: local
qdrant_data:
driver: local