FROM python:3.11-slim-bookworm # Install Node.js and npm RUN apt-get update && apt-get install -y \ nginx \ curl # Install Node.js 20 using NodeSource repository RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get install -y nodejs # Change working directory WORKDIR /app RUN ls -a # Set environment variables ENV APP_DATA_DIRECTORY=/app_data ENV TEMP_DIRECTORY=/tmp/presenton ENV PYTHONPATH="${PYTHONPATH}:/app/servers/fastapi" # Install ollama RUN curl -fsSL http://ollama.com/install.sh | sh # Install dependencies for FastAPI RUN pip install aiohttp aiomysql aiosqlite asyncpg fastapi[standard] \ pathvalidate pdfplumber nltk chromadb sqlmodel \ anthropic google-genai openai fastmcp RUN pip install docling --extra-index-url https://download.pytorch.org/whl/cpu # Install dependencies for Next.js WORKDIR /node_dependencies COPY servers/nextjs/package.json servers/nextjs/package-lock.json ./ RUN npm install # Install chrome for puppeteer RUN npx puppeteer browsers install chrome@138.0.7204.94 --install-deps RUN chmod -R 777 /node_dependencies # Copy nginx configuration COPY nginx.conf /etc/nginx/nginx.conf # Expose the port EXPOSE 80 # Start the servers CMD ["node", "/app/start.js", "--dev"]