FROM ubuntu:noble # 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"]