File size: 2,091 Bytes
2e71b69 ed86a7e 81e73d0 2e71b69 be8efa2 2e71b69 81e73d0 2e71b69 ed86a7e ef797f0 5f07dd1 903c05e be8efa2 5f07dd1 0527550 be8efa2 6e773f7 ef797f0 903c05e ef797f0 6a33e85 ef797f0 6e773f7 903c05e 6e773f7 6a33e85 17e22ae 2e71b69 81e73d0 2e71b69 81e73d0 ed86a7e 2e71b69 ed86a7e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# ベースイメージ
FROM debian:bullseye-slim
# 環境変数の設定
ARG DOWNLOAD_PATH=/default/download/path
ENV DOWNLOAD_PATH=${DOWNLOAD_PATH}
# 非対話的にインストールできるようにする
ENV DEBIAN_FRONTEND=noninteractive
# 必要なパッケージのインストール
RUN apt-get update \
&& apt-get install -y \
curl \
gnupg2 \
lsb-release \
ca-certificates \
build-essential \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
wget \
llvm \
libncurses5-dev \
libgdbm-dev \
libnss3-dev \
liblzma-dev \
tk-dev \
libffi-dev \
libsqlite3-dev \
&& apt-get clean
# Python 3.11をソースからインストール
RUN curl -O https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz \
&& tar -xvf Python-3.11.0.tgz \
&& cd Python-3.11.0 \
&& ./configure --enable-optimizations \
&& make -j$(nproc) \
&& make altinstall \
&& cd .. \
&& rm -rf Python-3.11.0*
# Poetryのインストール
RUN curl -sSL https://install.python-poetry.org | python3.11 -
# PoetryがインストールされたパスをPATHに追加
ENV PATH="/root/.local/bin:$PATH"
# Poetryの設定と依存関係のインストール
WORKDIR /vidyodl
COPY . /vidyodl
# PoetryにPython 3.11を指定
RUN poetry env use python3.11 \
&& poetry config virtualenvs.create false \
&& poetry install --no-interaction \
&& rm -rf /root/.cache/pypoetry
# debugpyをインストール
RUN pip3 install debugpy
# ダウンロード用のディレクトリを作成
RUN if [ -n "${DOWNLOAD_PATH}" ]; then \
mkdir -p ${DOWNLOAD_PATH} && \
mkdir -p /vidyodl/${DOWNLOAD_PATH}/audio && \
mkdir -p /vidyodl/${DOWNLOAD_PATH}/video && \
mkdir -p /vidyodl/${DOWNLOAD_PATH}/complete; \
else \
echo "DOWNLOAD_PATH is not set!"; \
fi
# アプリケーションのポートを公開
EXPOSE 8000
# アプリケーションを起動
CMD ["uvicorn", "--reload", "--host=0.0.0.0", "--port=8000", "server.main:vidyodl_app"]
|