# ベースイメージとして Python 3.13.5 を使用
FROM python:3.13.5

# 必要なパッケージをインストール
# - libasound2-dev: ALSAの開発ライブラリ、音声デバイス対応
# - usbutils: USBデバイス管理ツール
RUN apt update && apt install -y libasound2-dev
RUN apt install -y ffmpeg

RUN apt clean # キャッシュを削除してイメージサイズを削減

# ユーザー情報を設定するための変数
ARG USERNAME=mike
ARG GROUPNAME=user
ARG UID=1000
ARG GID=1000

# 指定したUIDとGIDで新しいグループとユーザーを作成し、音声グループにも追加
RUN groupadd -g $GID $GROUPNAME && \
    useradd -m -s /bin/bash -u $UID -g $GID -G audio $USERNAME

# 作成したユーザーを使用する
USER $USERNAME

# 作業ディレクトリを設定
WORKDIR /opt/$USERNAME/

RUN pip install -U --no-cache-dir pip==24.3.1 
# 必要なPythonパッケージをインストール
RUN pip install --no-cache-dir simpleaudio==1.0.4   # オーディオ再生用パッケージ
RUN pip install --no-cache-dir wave==0.0.2          # WAVファイルの操作パッケージ
RUN pip install --no-cache-dir requests==2.32.3     # HTTPリクエスト用のライブラリ
RUN pip install --no-cache-dir fastmcp==2.13.1   
RUN pip install --no-cache-dir llama_index-llms-ollama
RUN pip install --no-cache-dir llama_index-llms-openai_like
RUN pip install --no-cache-dir ffmpeg-python
