Spaces:
Sleeping
Sleeping
# Use the latest Ubuntu image as the base | |
FROM ubuntu:latest | |
# Update the package list, install curl, and clean up to reduce image size | |
RUN apt-get update && \ | |
apt-get install -y curl nginx libnginx-mod-http-lua && \ | |
apt-get clean && \ | |
rm -rf /var/lib/apt/lists/* | |
# Install Ollama using the official install script | |
RUN curl -fsSL https://ollama.com/install.sh | sh | |
# Set the Ollama host environment variable | |
# ENV OLLAMA_HOST=0.0.0.0 | |
ENV OLLAMA_HOST=127.0.0.1 | |
# Create the Ollama directory and set permissions | |
RUN mkdir -p /.ollama && chmod 777 /.ollama | |
# Create the models directory and set permissions | |
RUN mkdir -p /usr/share/ollama/.ollama/models && chmod -R 777 /usr/share/ollama/.ollama/models | |
# Set the Ollama models environment variable | |
ENV OLLAMA_MODELS="/usr/share/ollama/.ollama/models" | |
# Copy the Nginx configuration file | |
COPY nginx.conf /etc/nginx/nginx.conf | |
# Copy Lua script | |
COPY validate_api_key.lua /usr/local/openresty/nginx/lua/validate_api_key.lua | |
# Expose the Ollama server port | |
EXPOSE 11434 | |
# Run the Ollama server and pull the model | |
CMD ollama serve & \ | |
sleep 5 && \ | |
ollama pull llama3 && \ | |
wait && \ | |
nginx -g 'daemon off;' |