29 lines
749 B
Docker
29 lines
749 B
Docker
FROM python:3.11-slim
|
|
|
|
# Change the working directory to the root of the project
|
|
WORKDIR /srv/flask_app
|
|
|
|
# Install dependencies
|
|
RUN apt update && apt install -y python3 python3-pip curl nginx && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install the dependencies
|
|
COPY api/requirements.txt /srv/flask_app/
|
|
RUN pip install -r requirements.txt --src /usr/local/src --no-warn-script-location
|
|
|
|
# Copy the source code to the working directory
|
|
COPY api /srv/flask_app
|
|
COPY api/deploy/nginx.conf /etc/nginx
|
|
|
|
# Change file permissions
|
|
RUN chmod +x ./deploy/start.sh
|
|
RUN chmod +x ./deploy/healthcheck.sh
|
|
|
|
# Set healthcheck
|
|
HEALTHCHECK --interval=15s --timeout=2s CMD ["./deploy/healthcheck.sh"]
|
|
|
|
# Expose webserver port
|
|
EXPOSE 80
|
|
|
|
# Run the app
|
|
CMD ["./deploy/start.sh"]
|