Save youtube before it dies
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

48 lines
1.6 KiB

FROM python:3.11-bullseye
# We don't want to run our application as root if it is not strictly necessary, even in a container.
# Create a user and a group called 'app' to run the processes.
RUN adduser app
# Place the application components in a dir below the root dir
COPY requirements.txt /app/requirements.txt
# Make the directory the working directory for subsequent commands
WORKDIR /app
# Install from the requirements.txt we copied above
RUN pip install -r requirements.txt
# Download dbmate
RUN mkdir /app/bin
RUN curl -fsSL -o /app/bin/dbmate https://github.com/amacneil/dbmate/releases/latest/download/dbmate-linux-amd64
RUN chmod +x /app/bin/dbmate
RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /app/bin/yt-dlp
RUN chmod +x /app/bin/yt-dlp
RUN apt-get update && \
apt-get -y --no-install-recommends install software-properties-common && \
add-apt-repository "deb http://httpredir.debian.org/debian testing main" && \
apt-get update && \
apt-get -t testing install -y --no-install-recommends python3 ffmpeg
# Place the application components in a dir below the root dir
COPY . /app
# Hand everything over to the 'app' user
RUN chown -R app:app /app
# Subsequent commands, either in this Dockerfile or in a
# docker-compose.yml, will run as user 'app'
USER app
# We are done with setting up the image.
# As this image is used for different
# purposes and processes no CMD or ENTRYPOINT is specified here,
# this is done in docker-compose.yml.
#RUN mkdir $HOME/.cache
#RUN chown -R app:app $HOME/app
RUN bin/dbmate up