starlink-grpc-tools/Dockerfile
sparky8512 77e4046ba9 Switch docker reflection from grpcurl to yagrc
Remove grpcurl and grpcio-tools from container configuration and add yagrc, so that the direct reflection support in the Python scripts can be used. Also, pin all Python packages, including package dependencies, to specific version numbers, since that was already the case by happenstance due to the way Docker caches its build images and an undesirable version of the protobuf package was being cached.

Addresses #23, which was directly about this change.
Expected to also address #22, as a result of pinning the protobuf package version.
Should also prevent a recurrence of #18, since yagrc will automatically get any new dependant protocol files via reflection.
2021-03-23 18:32:00 -07:00

23 lines
802 B
Docker

FROM python:3.9
LABEL maintainer="neurocis <neurocis@neurocis.me>"
RUN true && \
\
# Install python prerequisites
pip3 install \
grpcio==1.36.1 \
paho-mqtt==1.5.1 \
influxdb==5.3.1 python-dateutil==2.8.1 pytz==2021.1 requests==2.25.1 \
certifi==2020.12.5 chardet==4.0.0 idna==2.10 urllib3==1.26.4 \
six==1.15.0 msgpack==1.0.2 \
yagrc==1.1.0 grpcio-reflection==1.36.1 protobuf==3.15.6
ADD . /app
WORKDIR /app
# run crond as main process of container
ENTRYPOINT ["/bin/sh", "/app/entrypoint.sh"]
CMD ["dish_grpc_influx.py status alert_detail"]
# docker run -d --name='starlink-grpc-tools' -e INFLUXDB_HOST=192.168.1.34 -e INFLUXDB_PORT=8086 -e INFLUXDB_DB=starlink
# --net='br0' --ip='192.168.1.39' neurocis/starlink-grpc-tools dish_grpc_influx.py status alert_detail