FROM julia:1.10 WORKDIR /app # Install system dependencies for HTTP server RUN apt-get update && apt-get install -y \ python3 \ python3-pip \ && rm -rf /var/lib/apt/lists/* # Copy Julia project files first COPY Project.toml /app/ # Copy Julia source COPY src/ /app/src/ # Install Julia HTTP dependencies RUN julia -e 'using Pkg; Pkg.add(["HTTP", "JSON3", "Random", "LinearAlgebra", "Statistics"])' # Precompile Julia code RUN julia -e 'include("src/vsa_core.jl"); println("VSA Core loaded")' # Install Gradio for frontend RUN pip3 install --no-cache-dir --break-system-packages gradio>=4.44.0 requests # Copy the app files COPY app.py /app/ COPY julia_server.jl /app/ COPY sample_cases.csv /app/ # Expose Gradio port EXPOSE 7860 # Start Julia server in background, then Gradio frontend CMD julia julia_server.jl & sleep 5 && python3 app.py