MRE/docker/mre.Dockerfile

35 lines
1.0 KiB
Docker
Raw Normal View History

2025-03-28 17:59:41 +00:00
FROM python:3.13.2-bullseye
2025-03-28 17:58:01 +00:00
2025-03-28 18:11:09 +00:00
LABEL MAINTAINER="Chris Diesch <chris@quarterhomes.com>"
WORKDIR /var/www
2025-03-28 18:11:09 +00:00
# Add the entrypoint and make it executable
ADD ./docker/entrypoint.sh /var/docker-entrypoint.sh
RUN chmod +x /var/docker-entrypoint.sh
2025-03-28 18:11:09 +00:00
# add the requirements and install them
ADD ./requirements.txt /var/www/requirements.txt
2025-04-09 22:16:20 +00:00
RUN pip install -r /var/www/requirements.txt
ADD ./app/mre_module/requirements.txt /var/www/mre_reuirements.txt
RUN pip install -r /var/www/mre_reuirements.txt
# the multipolyfit package has a small bug, but it is easily fixed
RUN rm /usr/local/lib/python3.13/site-packages/multipolyfit/__init__.py
RUN echo "from .core import multipolyfit, mk_model, mk_sympy_function" >> /usr/local/lib/python3.13/site-packages/multipolyfit/__init__.py
2025-03-28 18:11:09 +00:00
# add the uwsgi runner
ADD ./run.py /var/www/run.py
2025-03-28 18:11:09 +00:00
2025-03-28 17:58:01 +00:00
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
2025-03-28 18:11:09 +00:00
ENV PYTHONUNBUFFERED 1
2025-03-28 17:58:01 +00:00
2025-03-28 18:11:09 +00:00
# Copy the app directory
COPY ./app /var/www/app
2025-03-28 17:58:01 +00:00
2025-04-09 22:16:20 +00:00
EXPOSE 80/tcp
EXPOSE 80/udp
2025-03-28 18:11:09 +00:00
# define the entrypoint
2025-04-09 22:16:20 +00:00
CMD ["/var/docker-entrypoint.sh"]