# Dockerfile: the loyalty advisor as a small web service in a container.
#   docker build -t loyalty-advisor .
#   docker run -p 4150:4150 -v loyalty-data:/app/data loyalty-advisor
FROM python:3.14-slim
WORKDIR /app
COPY python/ python/
COPY web/ web/
COPY data/customers.csv data/customers.csv
ENV LOYALTY_HOME=/app
RUN chown -R nobody /app/data
EXPOSE 4150
HEALTHCHECK --interval=60s --timeout=5s \
  CMD ["python", "python/healthcheck.py", "http://localhost:4150"]
USER nobody
CMD ["python", "python/service.py", "--host", "0.0.0.0", "--port", "4150"]
