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"]