Renecto's picture
Update Dockerfile
03e56f8 verified
FROM python:3.9
# 作業ディレクトリを設定
WORKDIR /usr/src/app
# アプリケーションファイルをコピー
COPY . .
# 必要なPythonパッケージをインストール
RUN pip install --no-cache-dir gradio
COPY ./requirements.txt /code/requirements.txt
RUN python -m pip install --no-cache-dir --upgrade -r /code/requirements.txt
# ユーザーを作成し、ユーザー切替
RUN adduser --disabled-password --gecos '' myuser
# ユーザーに作業ディレクトリの所有権を与える
RUN chown -R myuser:myuser /usr/src/app
USER myuser
# 環境変数でユーザーのホームディレクトリを設定
ENV HOME=/home/myuser
# playwrightのインストール(非rootユーザーとして)
RUN pip install playwright
# PATHにPlaywrightのスクリプトディレクトリを追加
ENV PATH="${PATH}:/home/myuser/.local/bin"
RUN playwright install
USER root
RUN playwright install-deps
# 非rootユーザーに切り替え
USER myuser
ENV PATH="${PATH}:/home/myuser/.local/bin"
RUN playwright install
# ポートを開放
EXPOSE 7860
ENV GRADIO_SERVER_NAME="0.0.0.0"
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]