Spaces:
Runtime error
Runtime error
FROM ollama/ollama:latest | |
# Install necessary tools and Ngrok | |
RUN apt-get update && apt-get install -y \ | |
curl \ | |
wget \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Download and install Ngrok | |
RUN wget -q https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz \ | |
&& tar -xzf ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin \ | |
&& rm ngrok-v3-stable-linux-amd64.tgz | |
# Create /app directory | |
RUN mkdir -p /app | |
# Create start_services.sh script | |
RUN echo '#!/bin/bash\n\ | |
# Start Ollama server in the background\n\ | |
ollama serve &\n\ | |
# Wait for Ollama to start\n\ | |
echo "Waiting for Ollama to start..."\n\ | |
timeout 60 bash -c "until curl -s http://localhost:11434/api/tags > /dev/null 2>&1; do sleep 1; done"\n\ | |
if [ $? -ne 0 ]; then\n\ | |
echo "Error: Ollama failed to start within 60 seconds"\n\ | |
exit 1\n\ | |
fi\n\ | |
# Pull TinyLlama model\n\ | |
echo "Pulling TinyLlama model..."\n\ | |
ollama pull tinyllama\n\ | |
# Set Ngrok authtoken\n\ | |
echo "Starting Ngrok tunnel..."\n\ | |
ngrok authtoken <your-ngrok-authtoken>\n\ | |
ngrok http 11434 --host-header="localhost:11434" &\n\ | |
# Keep the container running\n\ | |
wait' > /app/start_services.sh | |
# Make the script executable | |
RUN chmod +x /app/start_services.sh | |
# Expose Ollama API port | |
EXPOSE 11434 | |
# Run the startup script | |
CMD ["/app/start_services.sh"] |