Skip to content
Snippets Groups Projects
Dockerfile 937 B
Newer Older
  • Learn to ignore specific revisions
  • Jonas Leder's avatar
    Jonas Leder committed
    FROM python:3
    
    LABEL Name=url_shorter Version=1.2
    EXPOSE 5000
    
    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
    
    #Make a complete system update
    RUN apt update
    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