FROM python:3.11-slim WORKDIR /app # Install dependencies COPY pyproject.toml uv.lock ./ RUN pip install uv && uv sync --frozen # Copy application COPY main.py ./ # Create non-root user RUN useradd -m modbus && chown -R modbus:modbus /app USER modbus EXPOSE 5020 CMD ["python", "main.py"]