Spaces:
Running
Running
File size: 1,024 Bytes
18db312 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | FROM julia:1.10-bookworm
# HuggingFace Spaces requires user ID 1000
RUN useradd -m -u 1000 user
# Shared Julia depot for package caching
ENV JULIA_DEPOT_PATH=/opt/julia-depot
RUN mkdir -p /opt/julia-depot && chmod 777 /opt/julia-depot
# Copy project file first for dependency caching
COPY --chown=user Project.toml /home/user/app/
# Install and precompile Julia packages (NNlib + JLD2 + HTTP + JSON3)
RUN julia --project=/home/user/app -e ' \
using Pkg; \
Pkg.instantiate(); \
Pkg.precompile(); \
println("Precompile done")'
# Copy application code
COPY --chown=user model.jl /home/user/app/
COPY --chown=user checkpoint.jl /home/user/app/
COPY --chown=user server.jl /home/user/app/
# Create checkpoints directory (model downloads from HF at runtime)
RUN mkdir -p /home/user/app/checkpoints && chown user:user /home/user/app/checkpoints
# Switch to non-root user
USER user
ENV HOME=/home/user
WORKDIR /home/user/app
EXPOSE 7860
CMD ["julia", "--project=/home/user/app", "/home/user/app/server.jl"]
|