File size: 1,769 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 595f308 a00f760 a913311 a00f760 f781fe7 595f308 16ac6c4 f781fe7 a00f760 40cb044 16ac6c4 19e2533 16ac6c4 f68e970 19e2533 55f6f08 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 69 70 71 72 73 74 75 76 77 |
# 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 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 Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# 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
# Give read and write permissions to the admin user
RUN chown -R admin:admin /srv
RUN chmod 755 /srv
USER admin
CMD python -m uvicorn App.app:app --workers 1 --host 0.0.0.0 --port 7860
# Expose port
EXPOSE 7860 |