39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
FROM python:3.10
|
|
|
|
ENV PROTOC_VERSION 3.19.6
|
|
|
|
ARG TARGETARCH
|
|
|
|
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
|
arch="x86_64"; \
|
|
elif [ "$TARGETARCH" = "arm64" ]; then \
|
|
arch="aarch_64"; \
|
|
else \
|
|
exit 1; \
|
|
fi \
|
|
&& curl -o /tmp/protoc.zip -L \
|
|
https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-${arch}.zip \
|
|
&& unzip /tmp/protoc.zip -d /usr -x readme.txt \
|
|
&& rm /tmp/protoc.zip
|
|
|
|
RUN useradd -ms /bin/bash esphome
|
|
|
|
USER esphome
|
|
|
|
WORKDIR /aioesphomeapi
|
|
|
|
COPY requirements_test.txt ./
|
|
|
|
RUN pip3 install -r requirements_test.txt
|
|
|
|
CMD ["script/gen-protoc"]
|
|
|
|
LABEL \
|
|
org.opencontainers.image.title="aioesphomeapi protobuf generator" \
|
|
org.opencontainers.image.description="An image to help with ESPHomes aioesphomeapi protobuf generation" \
|
|
org.opencontainers.image.vendor="ESPHome" \
|
|
org.opencontainers.image.licenses="MIT" \
|
|
org.opencontainers.image.url="https://esphome.io" \
|
|
org.opencontainers.image.source="https://github.com/esphome/aioesphomeapi" \
|
|
org.opencontainers.image.documentation="https://github.com/esphome/aioesphomeapi/blob/main/README.md"
|