39 lines
892 B
Docker
39 lines
892 B
Docker
ARG REPO=library
|
|
FROM ${REPO}/python:3-alpine
|
|
LABEL maintainer="ian@iamthefij.com"
|
|
# Minitor: https://git.iamthefij.com/iamthefij/minitor
|
|
|
|
# This should be the target qemu arch
|
|
ARG ARCH=x86_64
|
|
COPY ./build/qemu-${ARCH}-static /usr/bin/
|
|
|
|
# Add common checking tools
|
|
RUN apk --no-cache add bash=~5.1 curl=~7.80 jq=~1.6
|
|
WORKDIR /app
|
|
|
|
# Add minitor user for running as non-root
|
|
RUN addgroup -S minitor && adduser -S minitor -G minitor
|
|
|
|
# Expose default metrics port
|
|
EXPOSE 8080
|
|
|
|
# Copy default sample config
|
|
COPY ./sample-config.yml /app/config.yml
|
|
|
|
# Copy Python package to container
|
|
COPY ./README.md /app/
|
|
COPY ./setup.py /app/
|
|
COPY ./minitor /app/minitor
|
|
RUN pip install --no-cache-dir -e .
|
|
|
|
# Copy scripts
|
|
COPY ./scripts /app/scripts
|
|
|
|
# Allow all users to execute minitor and scripts
|
|
RUN chmod -R 755 /app
|
|
|
|
# Drop to non-root user
|
|
USER minitor
|
|
|
|
ENTRYPOINT [ "python3", "-m", "minitor.main" ]
|