|
|
|
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 |
|
|
|
|
|
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* |
|
|
|
|
|
RUN curl -sSL https://install.python-poetry.org | python3.11 - |
|
|
|
|
|
ENV PATH="/root/.local/bin:$PATH" |
|
|
|
|
|
WORKDIR /vidyodl |
|
COPY . /vidyodl |
|
|
|
|
|
RUN poetry env use python3.11 \ |
|
&& poetry config virtualenvs.create false \ |
|
&& poetry install --no-interaction \ |
|
&& rm -rf /root/.cache/pypoetry |
|
|
|
|
|
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"] |
|
|