#!/bin/sh set -e -o pipefail apk add --upgrade --no-cache restic bash python3 py3-pip py3-click py3-docker-py py3-json-logger curl # Todo use requirements file with specific versions pip install --break-system-packages resticpy==1.0.2 if [ -n "$SSH_HOST_KEY" ] then echo "$SSH_HOST_KEY" > /root/.ssh/known_hosts fi cron_schedule="${CRON_SCHEDULE:?CRON_SCHEDULE not set}" if [ -n "$PUSH_URL_START" ] then push_start_notification="curl -s '$PUSH_URL_START' &&" fi if [ -n "$PUSH_URL_FAIL" ] then push_fail_notification="|| curl -s '$PUSH_URL_FAIL'" fi if [ -n "$PUSH_URL_SUCCESS" ] then push_notification=" && (grep -q 'backup finished' /tmp/backup.log && curl -s '$PUSH_URL_SUCCESS' $push_fail_notification)" fi echo "$cron_schedule $push_start_notification backup --machine-logs create 2>&1 | tee /tmp/backup.log $push_notification" | crontab - crontab -l crond -f -d8 -L /dev/stdout