Skip to content

Commit 90d943a

Browse files
Merge pull request #35 from stephondoestech/bug/ISSUE#28-cron-docker-settings
Update develop CI triggers and preserve Docker env for cron backups
2 parents bc32caa + 312bf8d commit 90d943a

1 file changed

Lines changed: 31 additions & 2 deletions

File tree

docker/entrypoint.sh

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,43 @@ if [ -n "$SCHEDULE" ]; then
8585
echo "Setting up cron job with schedule: $SCHEDULE"
8686
PYTHON_BIN=$(command -v python3 2>/dev/null || command -v python 2>/dev/null || echo python3)
8787
echo "Using Python interpreter for cron: $PYTHON_BIN"
88+
89+
# Docker connection settings for cron-triggered backups
90+
CRON_ENV_VARS=""
91+
if [ -n "$DOCKER_HOST" ]; then
92+
CRON_ENV_VARS="$CRON_ENV_VARS DOCKER_HOST=$DOCKER_HOST"
93+
fi
94+
if [ -n "$DOCKER_SOCK_PATH" ]; then
95+
CRON_ENV_VARS="$CRON_ENV_VARS DOCKER_SOCK_PATH=$DOCKER_SOCK_PATH"
96+
fi
97+
if [ -n "$DOCKER_TLS_VERIFY" ]; then
98+
CRON_ENV_VARS="$CRON_ENV_VARS DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY"
99+
fi
100+
if [ -n "$DOCKER_CERT_PATH" ]; then
101+
CRON_ENV_VARS="$CRON_ENV_VARS DOCKER_CERT_PATH=$DOCKER_CERT_PATH"
102+
fi
103+
CRON_ENV_VARS="${CRON_ENV_VARS#" "}"
104+
105+
if [ -n "$CRON_ENV_VARS" ]; then
106+
echo "Cron Docker env: $CRON_ENV_VARS"
107+
else
108+
echo "Cron Docker env: none provided (falling back to container defaults)"
109+
fi
110+
111+
CRON_CMD="cd /app &&"
112+
if [ -n "$CRON_ENV_VARS" ]; then
113+
CRON_CMD="$CRON_CMD $CRON_ENV_VARS"
114+
fi
115+
CRON_CMD="$CRON_CMD $PYTHON_BIN src/unraid_config_guardian.py --output /output >> /output/guardian.log 2>&1"
116+
88117
if [ "$(id -u)" = "0" ]; then
89118
# Running as root, use crontab for guardian user
90-
echo "$SCHEDULE cd /app && $PYTHON_BIN src/unraid_config_guardian.py --output /output >> /output/guardian.log 2>&1" | crontab -u guardian - 2>/dev/null || true
119+
echo "$SCHEDULE $CRON_CMD" | crontab -u guardian - 2>/dev/null || true
91120
# Start cron in background
92121
cron & 2>/dev/null || true
93122
else
94123
# Running as non-root, use user crontab
95-
echo "$SCHEDULE cd /app && $PYTHON_BIN src/unraid_config_guardian.py --output /output >> /output/guardian.log 2>&1" | crontab - 2>/dev/null || true
124+
echo "$SCHEDULE $CRON_CMD" | crontab - 2>/dev/null || true
96125
fi
97126
fi
98127

0 commit comments

Comments
 (0)