add dockerfile

This commit is contained in:
Simon Rieger 2023-10-10 21:30:19 +02:00
parent e5f2ee0e30
commit b7a705351e
2 changed files with 34 additions and 2 deletions

23
Dockerfile Normal file
View file

@ -0,0 +1,23 @@
FROM debian:12
RUN apt-get update && \
apt-get install -y dateutils binutils borgbackup openssh-client && \
apt-get clean
COPY borg_exporter.rc borg_exporter.sh /
# Authorize SSH Host
RUN mkdir -p /root/.ssh && \
chmod 0700 /root/.ssh
# See: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints
COPY known_hosts /root/.ssh/known_hosts
# Add the Keys
COPY id_rsa id_rsa.pub /root/.ssh/
# Set permissions
RUN chmod 600 /root/.ssh/id_rsa && \
chmod 600 /root/.ssh/id_rsa.pub
CMD ["/borg_exporter.sh"]

View file

@ -1,6 +1,8 @@
#!/bin/bash
source /etc/borg_exporter.rc
source /borg_exporter.rc
#sleep 30
TMP_FILE=$(mktemp /tmp/prometheus-borg-XXXXX)
DATEDIFF=`which datediff`
@ -125,6 +127,9 @@ function getBorgDataForRepository {
fi
}
while true
do
#print the definition of the metrics
echo "# HELP borg_hours_from_last_archive How many hours have passed since the last archive was added to the repo (counted by borg_exporter.sh)" >> $TMP_FILE
echo "# TYPE borg_hours_from_last_archive gauge" >> $TMP_FILE
@ -173,7 +178,7 @@ else
getBorgDataForRepository $REPO $host
done
else
echo "Error: Either set REPOSITORY or BASEREPODIR in /etc/borg_exporter.rc"
echo "Error: Either set REPOSITORY or BASEREPODIR in /borg_exporter.rc"
fi
fi
@ -193,3 +198,7 @@ else
fi
#cleanup
rm -f $TMP_FILE
sleep 60
done