version: '3.8' services: postgres: image: pgvector/pgvector:pg16 environment: POSTGRES_DB: bible_chat POSTGRES_USER: bible_admin POSTGRES_PASSWORD: ${DB_PASSWORD:-password} volumes: - postgres_data:/var/lib/postgresql/data - ./scripts/init.sql:/docker-entrypoint-initdb.d/init.sql ports: - "5432:5432" networks: - bible_network app: build: context: . dockerfile: docker/Dockerfile.dev volumes: - .:/app - /app/node_modules ports: - "3000:3000" - "3001:3001" # WebSocket port depends_on: - postgres environment: DATABASE_URL: postgresql://bible_admin:${DB_PASSWORD:-password}@postgres:5432/bible_chat AZURE_OPENAI_KEY: ${AZURE_OPENAI_KEY} AZURE_OPENAI_ENDPOINT: ${AZURE_OPENAI_ENDPOINT} AZURE_OPENAI_DEPLOYMENT: ${AZURE_OPENAI_DEPLOYMENT} OLLAMA_API_URL: ${OLLAMA_API_URL} JWT_SECRET: ${JWT_SECRET:-default-jwt-secret-change-in-production} NEXTAUTH_URL: ${NEXTAUTH_URL:-http://localhost:3000} NEXTAUTH_SECRET: ${NEXTAUTH_SECRET:-default-nextauth-secret-change-in-production} networks: - bible_network networks: bible_network: driver: bridge volumes: postgres_data: