- Docker Desktop: Installed and running.
.envfile: Create a.envfile in the project root:GEMINI_API_KEY=your_gemini_key OPENAI_API_KEY=your_openai_key SUPABASE_URL=https://your-project.supabase.co SUPABASE_ANON_KEY=your_supabase_anon_key TEST_EMAIL=your_test_email@example.com TEST_PASSWORD=your_test_password
Option A: Development (Recommended)
Uses Dockerfile and docker-compose.yml.
# Build and Start
docker-compose up --build
# Stop
docker-compose downOption B: Production
Uses Dockerfile.prod for an optimized build.
# 1. Build Image
docker build -f Dockerfile.prod -t ai-cfo-prod .
# 2. Run Container
docker run -d --env-file .env -p 8000:8000 --name ai-cfo-prod-container ai-cfo-prod
# 3. Stop Container
docker stop ai-cfo-prod-container
# Optional: remove container after stopping
docker rm ai-cfo-prod-container- API Docs:
http://127.0.0.1:8000/docs - Health Check:
http://127.0.0.1:8000/health(Use127.0.0.1instead oflocalhoston Windows if you have issues)
Docker Compose (Development):
# Run in background
docker-compose up -d --build
# View logs
docker-compose logs -f
# docker-compose logs -f ai-cfo-api # Specific serviceGeneral Docker:
docker ps # List running containers
docker ps -a # List all containers
docker logs <container_name_or_id> # View logs
docker logs -f <container_name_or_id> # Follow logs
docker images # List images
docker rmi <image_name_or_id> # Remove image- Connection Issues (Windows): Use
127.0.0.1instead oflocalhost. - Port 8000 in use: Ensure it's free on your host.
- Errors? Check logs:
docker-compose logs -f(for dev) ordocker logs ai-cfo-prod-container(for prod).