Files
GoogleSheetBot/entrypoint.sh
2026-01-08 11:38:38 +01:00

63 lines
1.9 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/with-contenv bashio
set -e
CONFIG_PATH=/data/options.json
RUN_HOURS=$(bashio::config 'run_hours')
DEBUG_MODE=$(bashio::config 'debug')
CREDENTIALS_JSON=$(bashio::config 'credentials_json')
echo "---------------------------------"
echo "Strefa czasowa kontenera:"
echo "Date: $(date)"
echo "DEBUG: RUN_HOURS='${RUN_HOURS}'"
echo "DEBUG: DEBUG_MODE='${DEBUG_MODE}'"
echo "---------------------------------"
# Odczytaj opcję 'credentials_json' z konfiguracji dodatku i utwórz plik
# Home Assistant udostępnia opcje jako zmienne środowiskowe z prefiksem CONFIG_
if [ -n "${CREDENTIALS_JSON}" ]; then
echo "${CREDENTIALS_JSON}" > /app/credentials.json
echo "✅ Plik credentials.json został utworzony."
else
echo "⚠️ Brak danych w CREDENTIALS_JSON plik credentials.json nie został utworzony!"
fi
# Odczytaj i oczyść godziny uruchomienia z konfiguracji
RUN_HOURS_CLEAN=$(echo "${RUN_HOURS}" | tr -d '"' | tr -d "'[:space:]")
if [ -z "$RUN_HOURS_CLEAN" ]; then
echo "⚠️ Brak konfiguracji godzin! Używam wartości domyślnej: 9,13,16"
RUN_HOURS_CLEAN="9,13,16"
fi
echo "Tworzę zadania crona dla godzin: ${RUN_HOURS_CLEAN}"
# Tworzymy tymczasowy plik z zadaniami crona
CRONFILE=$(mktemp)
# Główne zadanie aplikacji
echo "0 ${RUN_HOURS_CLEAN} * * * cd /app && /app/venv/bin/python main.py >> /proc/1/fd/1 2>/proc/1/fd/2" >> "$CRONFILE"
# Zadanie heartbeat tylko jeśli DEBUG=true
if [ "${DEBUG_MODE:-false}" = "true" ]; then
echo "* * * * * date >> /proc/1/fd/1 2>/proc/1/fd/2" >> "$CRONFILE"
echo "✅ Dodano heartbeat do crona (DEBUG=true)"
else
echo " DEBUG jest wyłączony lub nieustawiony — heartbeat pominięty"
fi
# Wczytanie zadań do crontaba
crontab "$CRONFILE"
rm "$CRONFILE"
echo "✅ Zadania crona zostały załadowane."
# Uruchom usługę cron na pierwszym planie, aby kontener się nie zamknął
echo "🚀 Uruchamiam usługę cron..."
# cron -f
exec crond -f -l 2