FROM ollama/ollama:latest # Create a user and set up permissions RUN useradd -ms /bin/bash ollama-user # Set the home directory ENV HOME=/home/ollama-user WORKDIR $HOME # Ensure the user has access to the directory RUN mkdir -p $HOME/.ollama && chown -R ollama-user:ollama-user $HOME/.ollama # Install netcat (nc) for checking server readiness RUN apt-get update && apt-get install -y netcat # Copy the entrypoint script before switching users COPY entrypoint.sh /usr/local/bin/entrypoint.sh # Set permissions for the entrypoint script RUN chmod +x /usr/local/bin/entrypoint.sh # Switch to the non-root user USER ollama-user # Set Ollama to listen on all network interfaces ENV OLLAMA_HOST=0.0.0.0:7860 # Expose the default port EXPOSE 7860 # Use the custom entrypoint script ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]