Spaces:
Runtime error
Runtime error
# Build stage | |
FROM golang:1.24-alpine AS builder | |
WORKDIR /app | |
# Copy go mod files | |
COPY go.mod go.sum ./ | |
RUN go mod download | |
# Copy source files | |
COPY . . | |
# Build | |
RUN CGO_ENABLED=0 GOOS=linux go build -o /app/main | |
# Final stage | |
FROM ubuntu:22.04 | |
# Copy built binary from builder | |
COPY --from=builder /app/main /app/main | |
RUN apt-get update && \ | |
apt-get install -y \ | |
build-essential \ | |
libssl-dev \ | |
zlib1g-dev \ | |
libboost-system-dev \ | |
libboost-filesystem-dev \ | |
cmake \ | |
git \ | |
python3-pip \ | |
curl \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
# Install Python dependencies | |
RUN pip3 install huggingface-hub openai gradio | |
# Build llama.cpp | |
RUN git clone https://github.com/ggerganov/llama.cpp && \ | |
cd llama.cpp && \ | |
mkdir build && \ | |
cd build && \ | |
cmake .. -DLLAMA_BUILD_SERVER=ON -DLLAMA_BUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release && \ | |
cmake --build . --config Release --target llama-server -j $(nproc) | |
# Download model | |
RUN mkdir -p /models && \ | |
wget -O /models/model.q8_0.gguf https://huggingface.co/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.gguf | |
# Copy startup script | |
COPY start.sh /start.sh | |
RUN chmod +x /start.sh | |
# Expose ports | |
EXPOSE 8080 3000 | |
# Start services | |
CMD ["/start.sh"] |