Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions netdata/netdata/1.33.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# author : paulfantom

FROM cr.loongnix.cn/library/debian:buster-slim as builder

# One of 'nightly' or 'stable'
ARG RELEASE_CHANNEL=nightly

WORKDIR /app
ADD netdata-loongarch64-v1.33.1.tar.gz /app/

RUN mkdir -p /app/usr/sbin && \
if [ -f /app/etc/netdata/.environment ]; then \
sed -i 's|/tmp/build/netdata||g' /app/etc/netdata/.environment; \
fi

COPY run.sh /app/usr/sbin/run.sh
COPY health.sh /app/usr/sbin/health.sh
RUN chmod +x /app/usr/sbin/run.sh /app/usr/sbin/health.sh

#####################################################################
FROM cr.loongnix.cn/library/debian:buster-slim as base

ARG OFFICIAL_IMAGE=false
ENV NETDATA_OFFICIAL_IMAGE=$OFFICIAL_IMAGE

# Configure system
RUN apt-get update && apt-get install -y --no-install-recommends \
libuuid1 \
zlib1g \
libmnl0 \
libuv1 \
libjson-c3 \
libssl1.1 \
liblz4-1 \
curl \
adduser \
&& rm -rf /var/lib/apt/lists/*

ARG NETDATA_UID=201
ARG NETDATA_GID=201
ENV DOCKER_GRP netdata
ENV DOCKER_USR netdata

# Copy files over
RUN mkdir -p /opt/src /var/log/netdata && \
# Link log files to stdout
ln -sf /dev/stdout /var/log/netdata/access.log && \
ln -sf /dev/stdout /var/log/netdata/debug.log && \
ln -sf /dev/stderr /var/log/netdata/error.log && \
# Add netdata user
addgroup --gid ${NETDATA_GID} --system "${DOCKER_GRP}" && \
adduser --system --uid ${NETDATA_UID} --gid ${NETDATA_GID} --home /etc/netdata --shell /usr/sbin/nologin "${DOCKER_USR}"

# Long-term this should leverage BuildKit’s mount option.
COPY --from=builder /app /

# Apply the permissions as described in
# https://docs.netdata.cloud/docs/netdata-security/#netdata-directories
RUN chown -R root:root \
/etc/netdata \
/usr/share/netdata \
/usr/libexec/netdata && \
chown -R netdata:root \
/usr/lib/netdata \
/var/cache/netdata \
/var/lib/netdata \
/var/log/netdata && \
chown -R netdata:netdata /var/lib/netdata/cloud.d && \
chmod 0700 /var/lib/netdata/cloud.d && \
chmod 0755 /usr/libexec/netdata/plugins.d/*.plugin && \
chmod 4755 \
/usr/libexec/netdata/plugins.d/cgroup-network \
/usr/libexec/netdata/plugins.d/apps.plugin && \
if [ -f /usr/libexec/netdata/plugins.d/freeipmi.plugin ]; then \
chmod 4755 /usr/libexec/netdata/plugins.d/freeipmi.plugin; \
fi && \
# Group write permissions due to: https://github.com/netdata/netdata/pull/6543
find /var/lib/netdata /var/cache/netdata -type d -exec chmod 0770 {} \; && \
find /var/lib/netdata /var/cache/netdata -type f -exec chmod 0660 {} \;


ENV NETDATA_LISTENER_PORT 19999
EXPOSE $NETDATA_LISTENER_PORT

ENTRYPOINT ["/usr/sbin/run.sh"]

HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD /usr/sbin/health.sh

ONBUILD ENV NETDATA_OFFICIAL_IMAGE=false
31 changes: 31 additions & 0 deletions netdata/netdata/1.33.1/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This file is generated by the template.

REGISTRY ?=cr.loongnix.cn
ORGANIZATION ?=netdata
REPOSITORY ?=netdata
TAG ?=1.33.1
LATEST ?=false

RELEASE_URL=https://cloud.loongnix.cn/releases/loongarch64abi1/netdata/netdata/1.33.1/netdata-loongarch64-v1.33.1.tar.gz
IMAGE=$(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):$(TAG)
LATEST_IMAGE=$(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):latest

default: image

release:
wget -q https://cloud.loongnix.cn/releases/loongarch64abi1/netdata/netdata/1.33.1/netdata-loongarch64-v1.33.1.tar.gz

image: release
docker build \
-t $(IMAGE) \
-f Dockerfile \
.

push:
docker push $(IMAGE)
#latest image
@if [ $(LATEST) = "true" ]; \
then \
docker tag $(IMAGE) $(LATEST_IMAGE); \
docker push $(LATEST_IMAGE); \
fi
17 changes: 17 additions & 0 deletions netdata/netdata/1.33.1/health.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh
#
# This is the script that gets run for our Docker image health checks.

if [ -z "${NETDATA_HEALTHCHECK_TARGET}" ] ; then
# If users didn't request something else, query `/api/v1/info`.
NETDATA_HEALTHCHECK_TARGET="http://localhost:19999/api/v1/info"
fi

case "${NETDATA_HEALTHCHECK_TARGET}" in
cli)
netdatacli ping || exit 1
;;
*)
curl -sSL "${NETDATA_HEALTHCHECK_TARGET}" || exit 1
;;
esac
48 changes: 48 additions & 0 deletions netdata/netdata/1.33.1/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/usr/bin/env bash
#
# Entry point script for netdata
#
# Copyright: 2018 and later Netdata Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Author : Pavlos Emm. Katsoulakis <paul@netdata.cloud>
# Author : Austin S. Hemmelgarn <austin@netdata.cloud>
set -e

if [ ! "${DO_NOT_TRACK:-0}" -eq 0 ] || [ -n "$DO_NOT_TRACK" ]; then
touch /etc/netdata/.opt-out-from-anonymous-statistics
fi


BALENA_PGID=$(ls -nd /var/run/balena.sock | awk '{print $4}')
DOCKER_PGID=$(ls -nd /var/run/docker.sock | awk '{print $4}')

re='^[0-9]+$'
if [[ $BALENA_PGID =~ $re ]]; then
echo "Netdata detected balena-engine.sock"
DOCKER_HOST='/var/run/balena-engine.sock'
PGID="$BALENA_PGID"
elif [[ $DOCKER_PGID =~ $re ]]; then
echo "Netdata detected docker.sock"
DOCKER_HOST="/var/run/docker.sock"
PGID=$(ls -nd /var/run/docker.sock | awk '{print $4}')
fi
export PGID
export DOCKER_HOST

if [ -n "${PGID}" ]; then
echo "Creating docker group ${PGID}"
addgroup -gid "${PGID}" "docker" || echo >&2 "Could not add group docker with ID ${PGID}, its already there probably"
echo "Assign netdata user to docker group ${PGID}"
adduser "${DOCKER_USR}" "$(getent group "${PGID}" | cut -d: -f1)" || echo >&2 "Could not add netdata user to group docker with ID ${PGID}"
fi

if [ -n "${NETDATA_CLAIM_URL}" ] && [ -n "${NETDATA_CLAIM_TOKEN}" ] && [ ! -f /var/lib/netdata/cloud.d/claimed_id ]; then
/usr/sbin/netdata-claim.sh -token="${NETDATA_CLAIM_TOKEN}" \
-url="${NETDATA_CLAIM_URL}" \
${NETDATA_CLAIM_ROOMS:+-rooms="${NETDATA_CLAIM_ROOMS}"} \
${NETDATA_CLAIM_PROXY:+-proxy="${NETDATA_CLAIM_PROXY}"} \
-daemon-not-running
fi

exec /usr/sbin/netdata -u "${DOCKER_USR}" -D -s /host -p "${NETDATA_LISTENER_PORT}" -W set web "web files group" root -W set web "web files owner" root "$@"
Loading