| FROM python:3.10-slim |
|
|
| WORKDIR /app |
|
|
| |
| RUN apt-get update && \ |
| apt-get install -y --no-install-recommends \ |
| build-essential \ |
| gcc \ |
| ffmpeg \ |
| supervisor && \ |
| apt-get clean && \ |
| rm -rf /var/lib/apt/lists/* |
|
|
| COPY requirements.txt . |
| RUN pip install --no-cache-dir -r requirements.txt |
|
|
| |
| |
| COPY ./agents /app/agents |
| COPY ./data_ingestion /app/data_ingestion |
| COPY ./orchestrator /app/orchestrator |
| COPY ./streamlit /app/streamlit |
| COPY ./example_portfolio.json /app/example_portfolio.json |
|
|
| COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf |
|
|
|
|
| ENV GEMINI_MODEL_NAME="gemini-1.5-flash-latest" |
| ENV WHISPER_MODEL_SIZE="small" |
| ENV FAISS_INDEX_PATH="/app/faiss_index_store" |
|
|
|
|
| ENV AGENT_API_URL="http://localhost:8001" |
| ENV AGENT_SCRAPING_URL="http://localhost:8002" |
| ENV AGENT_RETRIEVER_URL="http://localhost:8003" |
| ENV AGENT_ANALYSIS_URL="http://localhost:8004" |
| ENV AGENT_LANGUAGE_URL="http://localhost:8005" |
| ENV AGENT_VOICE_URL="http://localhost:8006" |
| ENV ORCHESTRATOR_URL="http://localhost:8000" |
|
|
| RUN mkdir -p /app/faiss_index_store && \ |
| chown -R nobody:nogroup /app/faiss_index_store || true |
|
|
|
|
| EXPOSE 8501 |
|
|
| CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] |