|
FROM julia:1.10.4 |
|
|
|
|
|
RUN apt-get update && apt-get install -y python3 python3-pip python3-venv |
|
|
|
|
|
RUN useradd --create-home --shell /bin/bash user |
|
RUN mkdir /home/user/app |
|
WORKDIR /home/user/app |
|
RUN chown -R user:user /home/ |
|
USER user |
|
|
|
|
|
COPY --chown=user requirements.txt /home/user/app/requirements.txt |
|
|
|
|
|
RUN python3 -m venv /home/user/venv && \ |
|
/home/user/venv/bin/pip install -r /home/user/app/requirements.txt |
|
|
|
|
|
COPY --chown=user . /home/user/app |
|
|
|
|
|
COPY --chown=user data /home/user/data |
|
|
|
|
|
RUN echo 'export PATH="/home/user/venv/bin:$PATH"' >> /home/user/.bashrc |
|
|
|
RUN mkdir -p /home/user/.julia/config && \ |
|
echo 'ENV["PYTHON"] = "/home/user/venv/bin/python"' >> /home/user/.julia/config/startup.jl |
|
|
|
RUN mkdir -p /home/user/.julia/config |
|
|
|
|
|
|
|
RUN /home/user/venv/bin/pip install --upgrade pip |
|
|
|
|
|
EXPOSE 8000 |
|
EXPOSE 80 |
|
ENV JULIA_DEPOT_PATH "/home/user/.julia" |
|
|
|
RUN julia -e 'using Pkg; Pkg.activate("."); Pkg.precompile()' |
|
|
|
ENTRYPOINT julia --project -e 'using Pkg; Pkg.instantiate(); include("server.jl")' |