version: "3.8" services: rag-api: build: context: .. dockerfile: rag-api/Dockerfile container_name: myai-rag-api ports: - "8081:8080" env_file: - .env environment: - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development} - ASPNETCORE_URLS=http://+:8080 - # Database settings (read by the apps as Database:Host/Port/Name/User/Password) - Database__Host=${Database__Host:-mssql} - Database__Port=${Database__Port:-1433} - Database__Name=${Database__Name:-MyAiCvMatcher} - Database__User=${Database__User:-sa} - Database__Password=${Database__Password:-Your_strong_password123} - Database__TrustServerCertificate=${Database__TrustServerCertificate:-true} - InternalApi__RequireApiKey=true - InternalApi__ApiKey=${InternalApi__ApiKey:-change-this-internal-key} - Ai__Provider=${Ai__Provider:-OpenAI} - Ai__OpenAI__ApiKey=${Ai__OpenAI__ApiKey:-} - Ai__Ollama__BaseUrl=${Ai__Ollama__BaseUrl:-http://host.docker.internal:11434} networks: - myai-network restart: unless-stopped cv-matcher-api: build: context: .. dockerfile: cv-matcher-api/Dockerfile container_name: myai-cv-matcher-api depends_on: - rag-api ports: - "8082:8080" env_file: - .env environment: - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development} - ASPNETCORE_URLS=http://+:8080 - # Database settings (cv-matcher uses same keys) - Database__Host=${Database__Host:-mssql} - Database__Port=${Database__Port:-1433} - Database__Name=${Database__Name:-MyAiCvMatcher} - Database__User=${Database__User:-sa} - Database__Password=${Database__Password:-Your_strong_password123} - Database__TrustServerCertificate=${Database__TrustServerCertificate:-true} - InternalApi__RequireApiKey=true - InternalApi__ApiKey=${InternalApi__ApiKey:-change-this-internal-key} - RagApi__BaseUrl=http://rag-api:8080 - RagApi__InternalApiKey=${InternalApi__ApiKey:-change-this-internal-key} - Ai__Provider=${Ai__Provider:-OpenAI} - Ai__OpenAI__ApiKey=${Ai__OpenAI__ApiKey:-} - Ai__Ollama__BaseUrl=${Ai__Ollama__BaseUrl:-http://host.docker.internal:11434} networks: - myai-network restart: unless-stopped api: depends_on: - cv-matcher-api build: context: .. dockerfile: api/Dockerfile container_name: myai-api ports: - "8080:8080" env_file: - ../api/.env - .env environment: - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development} - ASPNETCORE_URLS=${ASPNETCORE_URLS:-http://+:8080} - Cors__AllowedOrigins__0=http://localhost:5000 - Cors__AllowedOrigins__1=http://web:8080 - CvMatcherApi__BaseUrl=http://cv-matcher-api:8080 - CvMatcherApi__InternalApiKey=${CvMatcherApi__InternalApiKey:-change-this-internal-key} volumes: - ../api/logs:/app/logs networks: - myai-network restart: unless-stopped web: build: context: ../web dockerfile: Dockerfile container_name: myai-web depends_on: - api ports: - "5000:8080" env_file: - .env environment: - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development} - ASPNETCORE_URLS=${ASPNETCORE_URLS:-http://+:8080} networks: - myai-network restart: unless-stopped networks: myai-network: driver: bridge