Dockerfile.alpine 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # SPDX-License-Identifier: GPL-3.0+
  2. FROM alpine:edge as builder
  3. # Install prerequisites
  4. RUN apk --no-cache add alpine-sdk autoconf automake libmnl-dev build-base jq \
  5. lm_sensors nodejs pkgconfig py-mysqldb python libuuid \
  6. py-psycopg2 py-yaml util-linux-dev zlib-dev curl bash \
  7. netcat-openbsd
  8. # Copy source
  9. COPY . /opt/netdata.git
  10. WORKDIR /opt/netdata.git
  11. # Install source
  12. RUN chmod +x ./netdata-installer.sh && \
  13. sync && sleep 1 && \
  14. ./netdata-installer.sh --dont-wait --dont-start-it
  15. ################################################################################
  16. FROM alpine:edge
  17. # Reinstall some prerequisites
  18. RUN apk --no-cache add lm_sensors nodejs libuuid python py-mysqldb \
  19. py-psycopg2 py-yaml netcat-openbsd jq curl fping
  20. # Copy files over
  21. COPY --from=builder /usr/share/netdata /usr/share/netdata
  22. COPY --from=builder /usr/libexec/netdata /usr/libexec/netdata
  23. COPY --from=builder /var/cache/netdata /var/cache/netdata
  24. COPY --from=builder /var/lib/netdata /var/lib/netdata
  25. COPY --from=builder /usr/sbin/netdata /usr/sbin/netdata
  26. COPY --from=builder /etc/netdata /etc/netdata
  27. ARG NETDATA_UID=101
  28. ARG NETDATA_GID=101
  29. RUN \
  30. # fping from alpine apk is on a different location. Moving it.
  31. mv /usr/sbin/fping /usr/local/bin/fping && \
  32. chmod 4755 /usr/local/bin/fping && \
  33. mkdir -p /var/log/netdata && \
  34. # Add netdata user
  35. addgroup -g ${NETDATA_GID} -S netdata && \
  36. adduser -S -H -s /bin/sh -u ${NETDATA_GID} -h /etc/netdata -G netdata netdata && \
  37. # Apply the permissions as described in
  38. # https://github.com/firehol/netdata/wiki/netdata-security#netdata-directories
  39. chown -R root:netdata /etc/netdata && \
  40. chown -R netdata:netdata /var/cache/netdata /var/lib/netdata /usr/share/netdata && \
  41. chown root:netdata /usr/libexec/netdata/plugins.d/apps.plugin /usr/libexec/netdata/plugins.d/cgroup-network && \
  42. chmod 4750 /usr/libexec/netdata/plugins.d/cgroup-network /usr/libexec/netdata/plugins.d/apps.plugin && \
  43. chmod 0750 /var/lib/netdata /var/cache/netdata && \
  44. # Link log files to stdout
  45. ln -sf /dev/stdout /var/log/netdata/access.log && \
  46. ln -sf /dev/stdout /var/log/netdata/debug.log && \
  47. ln -sf /dev/stderr /var/log/netdata/error.log
  48. EXPOSE 19999
  49. CMD [ "/usr/sbin/netdata" , "-D", "-s", "/host", "-p", "19999"]