FROM python:3.11-slim-bookworm # Install Node.js and npm RUN apt-get update && apt-get install -y \ nodejs \ npm \ nginx \ curl \ redis-server # Change working directory WORKDIR /app RUN ls -a # Set environment variables ENV APP_DATA_DIRECTORY=/app/user_data ENV TEMP_DIRECTORY=/tmp/presenton # Install ollama RUN curl -fsSL https://ollama.com/install.sh | sh # Install dependencies for FastAPI COPY servers/fastapi/requirements.txt ./ RUN pip install -r requirements.txt # Install dependencies for Next.js WORKDIR /app/servers/nextjs COPY servers/nextjs/package.json servers/nextjs/package-lock.json ./ RUN npm install # Install chrome for puppeteer RUN npx puppeteer browsers install chrome --install-deps # Copy nginx configuration COPY nginx.conf /etc/nginx/nginx.conf # Expose the port EXPOSE 80 3000 8000 6379 # Start the servers CMD ["/bin/bash", "-c", "ollama serve & service nginx start & service redis-server start && node /app/start.js"]