| FROM ubuntu:22.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| python3 \ |
| python3-pip \ |
| sudo \ |
| wget \ |
| curl \ |
| git \ |
| vim \ |
| nano \ |
| htop \ |
| net-tools \ |
| iputils-ping \ |
| build-essential \ |
| openssh-server \ |
| pciutils \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ |
| apt-get install -y nodejs |
|
|
| |
| RUN npm install -g localtunnel |
|
|
| |
| RUN curl -L https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tgz -o ollama.tgz && \ |
| tar -C /usr -xzf ollama.tgz && \ |
| rm ollama.tgz |
|
|
| |
| RUN nohup bash -c "ollama serve &" && \ |
| sleep 5 && \ |
| ollama pull qwen2.5-coder:3b |
|
|
| |
| RUN mkdir /var/run/sshd && \ |
| echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config && \ |
| echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config && \ |
| echo "root:huggingface" | chpasswd |
|
|
| WORKDIR /app |
|
|
| |
| COPY requirements.txt . |
| RUN pip3 install --no-cache-dir -r requirements.txt |
|
|
| |
| COPY app.py . |
|
|
| |
| EXPOSE 7860 |
| EXPOSE 11434 |
| EXPOSE 22 |
|
|
| USER root |
|
|
| |
| CMD ["bash", "-c", "ollama serve & /usr/sbin/sshd & sleep 5 && uvicorn app:app --host 0.0.0.0 --port 7860"] |
|
|