Overview
Support Bot provides Docker configurations for both development and production environments. Docker Compose orchestrates multiple services including the backend API, frontend, databases, and vector storage.Docker Compose Files
The project includes two Docker Compose configurations:docker-compose.yml- Development environment with exposed ports and Adminerdocker-compose.prod.yml- Production environment with optimized settings
Development Deployment
The development configuration starts supporting services without the application containers.Start development services
- PostgreSQL (port 5434) - Main application database
- pgvector (port 5433) - Vector embeddings database
- Qdrant (ports 6333, 6334) - Vector search engine
- Adminer (port 8080) - Web-based database management
Access services
- Qdrant UI: http://localhost:6333/dashboard
- Adminer: http://localhost:8080
- Main DB: localhost:5434
- Vector DB: localhost:5433
Production Deployment
The production configuration includes the backend and frontend containers.Create production environment file
Build and start services
- Backend (port 8000) - FastAPI application
- Frontend (port 3000) - React application
- PostgreSQL - Main database
- pgvector - Vector database
- Qdrant - Vector search
Service Configuration
PostgreSQL (Main Database)
postgresql://postgres:admin@localhost:5434/bot_db
pgvector (Vector Database)
postgresql://postgres:admin@localhost:5433/vector_db
Qdrant (Vector Search)
http://localhost:6333
Backend Container
The production backend container is built fromDockerfile.backend.prod:
Build Process
- Based on
python:3.11-slim - Installs system dependencies (curl, gcc)
- Installs
uvfor dependency management - Syncs Python dependencies from
pyproject.toml - Copies application source code
Startup Sequence
The container automatically runs:Volume Management
Persistent Volumes
Backup Volumes
Common Operations
Stop Services
Remove Volumes
View Logs
Rebuild Containers
Troubleshooting
Port Conflicts
If ports are already in use, modify the port mappings indocker-compose.yml:
Container Won’t Start
-
Check logs:
-
Verify environment variables:
-
Check container status:
Database Connection Issues
-
Ensure containers are running:
-
Test connection:
-
Check network:
Next Steps
Database Setup
Run migrations and configure PostgreSQL
Environment Variables
Configure required environment variables