|
FROM python:3.9 |
|
|
|
ARG DEBIAN_FRONTEND=noninteractive |
|
|
|
RUN apt-get update && apt-get install --no-install-recommends -y \ |
|
build-essential \ |
|
python3-pip \ |
|
git \ |
|
ffmpeg \ |
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* |
|
|
|
WORKDIR /code |
|
|
|
COPY ./requirements.txt /code/requirements.txt |
|
|
|
|
|
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt |
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
USER user |
|
ENV HOME=/home/user \ |
|
PATH=/home/user/.local/bin:$PATH |
|
|
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
COPY --chown=user . $HOME/app |
|
|
|
|
|
RUN wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz -O /tmp/ngrok.tgz && \ |
|
tar xvzf /tmp/ngrok.tgz -C /usr/local/bin && \ |
|
rm /tmp/ngrok.tgz |
|
|
|
|
|
RUN /usr/local/bin/ngrok update |
|
|
|
|
|
RUN /usr/local/bin/ngrok version |
|
|
|
|
|
RUN mkdir -p $HOME/.ngrok2 && \ |
|
echo "authtoken: 1XtU01EKWysplGQ8fz54lVUQpnQ_3KKhw6YNQ5E85rxdkgXx4" > $HOME/.ngrok2/ngrok.yml |
|
|
|
|
|
CMD ["sh", "-c", "uvicorn app:app --host 0.0.0.0 --port 7860 & sleep 5 && ngrok http 7860"] |
|
|
|
|
|
EXPOSE 7860 |
|
EXPOSE 4040 |
|
|