FROM python:3

LABEL Name=url_shorter
EXPOSE 5000

#Copy files to work directory
WORKDIR /app
ADD ./static /app/static
ADD ./templates /app/templates
COPY import.py /app/import.py
COPY export.py /app/export.py
COPY main.py /app/main.py
COPY VERSION /app/VERISON

#Make a complete system update
RUN apt update
RUN apt install apt-utils -y
RUN apt upgrade -y

#Install pipreqs. This tool is used to make the requirements.txt file automatic. Afterwards install them.
RUN pip install pipreqs
RUN pipreqs . --force
RUN python3 -m pip install -r requirements.txt

#Compile the Python files (for more speed) and replace the original files
RUN python -m compileall .
RUN rm main.py import.py export.py
RUN mv __pycache__/main.* main.py
RUN mv __pycache__/import.* import.py
RUN mv __pycache__/export.* export.py

#Make a builddate file, used if you want to see the builddate in the webui
RUN date > builddate.txt

#everytime the container starts run main.py
ENTRYPOINT python3 main.py