ai-voicebot/Dockerfile.voicebot
2025-09-09 16:11:24 -07:00

65 lines
1.6 KiB
Docker

FROM ubuntu:oracular
# Stick with Python3.12 (plucky has 3.13)
# Install some utilities frequently used
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
curl \
gpg \
iputils-ping \
jq \
nano \
rsync \
wget \
python3 \
python3-pip \
# python3-venv \
# python3-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log}
# Install packages required for voicebot
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
libgl1 \
libglib2.0-0t64 \
git \
iproute2 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log}
# Install Intel graphics runtimes
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \
&& add-apt-repository -y ppa:kobuk-team/intel-graphics \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
libze-intel-gpu1 \
libze1 \
intel-ocloc \
intel-opencl-icd \
xpu-smi \
clinfo \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log}
# Install uv using the official Astral script
RUN curl -Ls https://astral.sh/uv/install.sh | bash
ENV PATH=/root/.local/bin:$PATH
WORKDIR /voicebot
# Copy code and entrypoint
COPY ./voicebot /voicebot
COPY ./shared /shared
COPY ./voicebot/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Set environment variable for production mode (default: development)
ENV PRODUCTION=false
# the cache and target directories are on different filesystems, hardlinking may not be supported.
ENV UV_LINK_MODE=copy
ENTRYPOINT ["/entrypoint.sh"]