From 99cf0b6d7b01f2b344c81306af2808ebcbd1c691 Mon Sep 17 00:00:00 2001 From: city_unit <140349364+city-unit@users.noreply.github.com> Date: Sun, 19 Nov 2023 00:01:17 -0500 Subject: [PATCH] Add basic docker support --- Docker | 37 +++++++++++++++++++++++++++++++++++++ docker-compose.yml | 13 +++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 Docker create mode 100644 docker-compose.yml diff --git a/Docker b/Docker new file mode 100644 index 0000000..391489d --- /dev/null +++ b/Docker @@ -0,0 +1,37 @@ +# Use an official CUDA runtime with Ubuntu as a parent image +FROM nvidia/cuda:12.2.0-devel-ubuntu22.04 + +# Install Python and pip +RUN apt-get update && apt-get install -y \ + python3.11 \ + python3-pip \ + && rm -rf /var/lib/apt/lists/* + +# Alias python and pip to python3 and pip3 +#RUN ln -s /usr/bin/python3 /usr/bin/python + +# Set the working directory in the container +WORKDIR /usr/src/app + +# Copy the current directory contents into the container at /usr/src/app +COPY . . + +# Install torch with CUDA support and exllamav2 +RUN pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121 +RUN pip install exllamav2 + +# Install any other needed packages specified in requirements.txt +RUN pip install --no-cache-dir -r requirements.txt + +# Copy the sample config file to the main config +RUN cp config_sample.yml config.yml + +# Make port 5000 available to the world outside this container +EXPOSE 5000 + +# Define environment variable +ENV NAME World + +# Run main.py when the container launches +CMD ["python3", "main.py"] + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..779bab6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3.8' +services: + tabbyapi: + build: . + ports: + - "5000:5000" + runtime: nvidia + environment: + - NAME=TabbyAPI + - NVIDIA_VISIBLE_DEVICES=all +# volumes: +# - /path/to/models:/usr/src/app/models +# - /path/to/config:/usr/src/app/config.yml