File size: 1,652 Bytes
1c1e321 f781fe7 1c1e321 a00f760 f781fe7 1c1e321 a00f760 1c1e321 f781fe7 a00f760 f781fe7 a00f760 f781fe7 a00f760 f781fe7 a00f760 040bd2a a00f760 36e5180 4aa0fd7 36e5180 a00f760 07dca11 a913311 a00f760 a913311 a00f760 f781fe7 a00f760 40cb044 f53d280 f781fe7 a00f760 f781fe7 |
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 |
# Builder stage
FROM python:3.10.0 as builder
# Create a non-root user
RUN useradd -ms /bin/bash admin
# Set the working directory
WORKDIR /srv
# Copy requirements file first to leverage caching
COPY --chown=admin requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
wget ffmpeg curl aria2 \
fonts-liberation \
libatk-bridge2.0-0 \
libatk1.0-0 \
libatspi2.0-0 \
libcups2 \
libdrm2 \
libgbm1 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libu2f-udev \
libvulkan1 \
libxcomposite1 \
libxdamage1 \
mesa-vulkan-drivers \
libxfixes3 \
libasound2 \
libxkbcommon0 \
libxrandr2 \
xdg-utils \
software-properties-common \
npm
# Install youtubeuploader
ADD https://github.com/porjo/youtubeuploader/releases/download/23.06/youtubeuploader_23.06_Linux_x86_64.tar.gz youtubeuploader.tar.gz
RUN mkdir -p /srv/youtube && \
tar -zxvf youtubeuploader.tar.gz -C /srv/youtube && \
rm youtubeuploader.tar.gz && \
chmod +x /srv/youtube/youtubeuploader
# Install latest npm and node
RUN npm install npm@latest -g && \
npm install n -g && \
n latest
# Install unsilence
RUN pipx ensurepath && \
pipx install unsilence
# Copy the application code
COPY --chown=admin . /srv
# Command to run the application
# CMD python -m uvicorn App.app:app --host 0.0.0.0 --port 7860 & python -m celery -A App.Worker.celery worker -c 5 --max-tasks-per-child=1 --without-heartbeat
CMD python -m uvicorn App.app:app --workers 4 --host 0.0.0.0 --port 7860
# Expose port
EXPOSE 7860 |