FROM python:3.10-slim RUN apt-get update && \ apt-get install -y --no-install-recommends libgl1 libglib2.0-0 curl && \ rm -rf /var/lib/apt/lists/* COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv WORKDIR /app COPY pyproject.toml README.md ./ COPY src/ src/ RUN uv sync --no-dev COPY config.yaml VERSION ./ COPY web/ web/ ENV PRESA_MANO_CONFIG=/app/config.yaml ENV PRESA_MANO_DATA=/app/data ENV PRESA_MANO_PORT=8890 # Versione build: iniettata da build.sh come --build-arg. Cambia ad ogni build # (il valore diverso invalida solo questi due layer finali, non le dipendenze). ARG APP_VERSION=dev ARG BUILD_TIME=unknown ENV APP_VERSION=${APP_VERSION} ENV BUILD_TIME=${BUILD_TIME} EXPOSE 8890 # Shell form so $PRESA_MANO_PORT viene espanso a runtime: cambi la porta in # .env senza dover ricostruire l'immagine. CMD uv run uvicorn presa_mano.main:app --host 0.0.0.0 --port ${PRESA_MANO_PORT}