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"]
