FROM python:3.12-slim # System deps: nginx & supervisor RUN apt-get update && apt-get install -y --no-install-recommends \ nginx supervisor && \ rm -rf /var/lib/apt/lists/* WORKDIR /app # Python deps COPY transportmanager/requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r /app/requirements.txt # App code COPY transportmanager/server /app/server COPY transportmanager/client /app/client # Nginx config COPY transportmanager/deploy/nginx.conf /etc/nginx/nginx.conf # Supervisor config COPY transportmanager/deploy/supervisord.conf /etc/supervisor/conf.d/supervisord.conf # Nginx needs a pid file path RUN mkdir -p /var/run/nginx # Environment defaults ENV TZ=Europe/Bucharest \ API_BIND=127.0.0.1:5000 \ FLET_BIND=127.0.0.1:8080 \ API_BASE_PATH=/api # Expose only 80 internally (for nginx) EXPOSE 80 # Run all processes via supervisor CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"]