Merge pull request #2741 from alexbelgium/copilot/fix-environment-variables-issue

Fix cron jobs not running in Firefly III Data Importer addon
This commit is contained in:
Alexandre
2026-05-28 11:20:05 +02:00
committed by GitHub
4 changed files with 18 additions and 11 deletions

View File

@@ -1,3 +1,6 @@
## 2.3.2-5 (28-05-2026)
- Fix cron jobs not running (wrong shebang, missing env vars, broken crontab)
## 2.3.2-4 (18-05-2026)
- Minor bugs fixed
## 2.3.2-3 (18-05-2026)

View File

@@ -101,5 +101,5 @@ schema:
slug: fireflyiii_data_importer
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "2.3.2-4"
version: "2.3.2-5"
webui: "[PROTO:ssl]://[HOST]:[PORT:8080]"

View File

@@ -27,6 +27,10 @@ export CAN_POST_FILES="$(bashio::config "CAN_POST_FILES")"
export CAN_POST_AUTOIMPORT="$(bashio::config "CAN_POST_AUTOIMPORT")"
# Persist variables to /etc/environment for cron jobs
SILENT_MODE="false"
if bashio::config.true 'silent'; then
SILENT_MODE="true"
fi
{
[ -n "$JSON_CONFIGURATION_DIR" ] && echo "JSON_CONFIGURATION_DIR=\"$JSON_CONFIGURATION_DIR\""
echo "CONFIG_LOCATION=\"$CONFIGSOURCE\""
@@ -35,8 +39,9 @@ export CAN_POST_AUTOIMPORT="$(bashio::config "CAN_POST_AUTOIMPORT")"
echo "AUTO_IMPORT_SECRET=\"$AUTO_IMPORT_SECRET\""
echo "CAN_POST_FILES=\"$CAN_POST_FILES\""
echo "CAN_POST_AUTOIMPORT=\"$CAN_POST_AUTOIMPORT\""
echo "SILENT_MODE=\"$SILENT_MODE\""
} >> /etc/environment
chmod 600 /etc/environment
chmod 644 /etc/environment
################
# CRON OPTIONS #
@@ -54,9 +59,6 @@ if bashio::config.has_value 'Updates'; then
cp /templates/cronupdate /etc/cron."${FREQUENCY}"/
chmod 755 /etc/cron."${FREQUENCY}"/cronupdate
# Sets cron to run with www-data user
sed -i 's|root|www-data|g' /etc/crontab
# Starts cron
service cron start

View File

@@ -1,20 +1,22 @@
#!/usr/bin/env bashio
#!/bin/bash
# shellcheck shell=bash
set -e
# Source environment variables for cron context
# shellcheck disable=SC1091
if [ -f /etc/environment ]; then set -a; . /etc/environment; set +a; fi
# shellcheck disable=SC1091
if [ -f /.env ]; then set -a; . /.env; set +a; fi
# Use persisted value instead of calling bashio::config (www-data may lack API access)
CONFIGSOURCE="${CONFIG_LOCATION}"
(
bashio::log.info "Running update according to defined schedule. Files located in $CONFIGSOURCE/import_files will be imported. If /config, it is accessible in the folder /addon_configs/xxx-firefly_data_importer when using the Filebrowser addon"
if bashio::config.true 'silent'; then
bashio::log.warning "Silent mode activated. Only errors will be shown. Please disable in addon options if you need to debug"
/usr/local/bin/php /var/www/html/artisan importer:auto-import "$CONFIGSOURCE/import_files" >/dev/null
echo "[INFO] Running update according to defined schedule. Files located in $CONFIGSOURCE/import_files will be imported."
if [ "${SILENT_MODE}" = "true" ]; then
echo "[WARNING] Silent mode activated. Only errors will be shown. Please disable in addon options if you need to debug"
sudo -Eu www-data /usr/local/bin/php /var/www/html/artisan importer:auto-import "$CONFIGSOURCE/import_files" >/dev/null
else
/usr/local/bin/php /var/www/html/artisan importer:auto-import "$CONFIGSOURCE/import_files"
sudo -Eu www-data /usr/local/bin/php /var/www/html/artisan importer:auto-import "$CONFIGSOURCE/import_files"
fi
) &>/proc/1/fd/1