- TCP/RTU/TLS server support with pymodbus - Configurable data store sizes and initial values - CLI with argument parsing for port, slave-id, etc. - GitHub Actions CI/CD for Docker build and push
19 lines
295 B
Docker
19 lines
295 B
Docker
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"]
|