diff --git a/rootfs/etc/cont-init.d/03-config.sh b/rootfs/etc/cont-init.d/03-config.sh index a9f4d8c..0b58d43 100644 --- a/rootfs/etc/cont-init.d/03-config.sh +++ b/rootfs/etc/cont-init.d/03-config.sh @@ -194,16 +194,6 @@ chown librenms. /data/config /data/monitoring-plugins /data/rrd /data/weathermap chown -R librenms. /data/logs ${LIBRENMS_PATH}/config.d ${LIBRENMS_PATH}/bootstrap ${LIBRENMS_PATH}/logs ${LIBRENMS_PATH}/storage chmod ug+rw /data/logs /data/rrd ${LIBRENMS_PATH}/bootstrap/cache ${LIBRENMS_PATH}/storage ${LIBRENMS_PATH}/storage/framework/* -# Handle .env -if [ ! -f "/data/.env" ]; then - artisan key:generate --no-interaction --force - sed -i "s|^NODE_ID=.*|NODE_ID=$(php -r "echo uniqid();")|g" "${LIBRENMS_PATH}/.env" - artisan optimize - cp -f "${LIBRENMS_PATH}/.env" /data/.env -fi -cp -f /data/.env "${LIBRENMS_PATH}/.env" -chown librenms. /data/.env "${LIBRENMS_PATH}/.env" - # Check additional Monitoring plugins echo "Checking additional Monitoring plugins..." mon_plugins=$(ls -l /data/monitoring-plugins | egrep '^-' | awk '{print $9}') diff --git a/rootfs/etc/cont-init.d/04-svc-main.sh b/rootfs/etc/cont-init.d/04-svc-main.sh index a1861b2..93fee3a 100644 --- a/rootfs/etc/cont-init.d/04-svc-main.sh +++ b/rootfs/etc/cont-init.d/04-svc-main.sh @@ -35,6 +35,16 @@ if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ]; then exit 0 fi +# Handle .env +if [ ! -f "/data/.env" ]; then + artisan key:generate --no-interaction --force + sed -i "s|^NODE_ID=.*|NODE_ID=$(php -r "echo uniqid();")|g" "${LIBRENMS_PATH}/.env" + artisan optimize + cp -f "${LIBRENMS_PATH}/.env" /data/.env +fi +cp -f /data/.env "${LIBRENMS_PATH}/.env" +chown librenms. /data/.env "${LIBRENMS_PATH}/.env" + file_env 'DB_PASSWORD' if [ -z "$DB_PASSWORD" ]; then >&2 echo "ERROR: Either DB_PASSWORD or DB_PASSWORD_FILE must be defined" diff --git a/rootfs/etc/cont-init.d/05-svc-dispatcher.sh b/rootfs/etc/cont-init.d/05-svc-dispatcher.sh index 08f3421..364c339 100644 --- a/rootfs/etc/cont-init.d/05-svc-dispatcher.sh +++ b/rootfs/etc/cont-init.d/05-svc-dispatcher.sh @@ -83,6 +83,12 @@ done echo "Database ready!" # Node ID +if [ ! -f "/data/.env" ]; then + >&2 echo "ERROR: /data/.env file does not exist. Please run the main container first" + exit 1 +fi +cp -f /data/.env "${LIBRENMS_PATH}/.env" +chown librenms. "${LIBRENMS_PATH}/.env" if [ -n "$LIBRENMS_SERVICE_NODE_ID" ]; then echo "NODE_ID: $LIBRENMS_SERVICE_NODE_ID" sed -i "s|^NODE_ID=.*|NODE_ID=$LIBRENMS_SERVICE_NODE_ID|g" "${LIBRENMS_PATH}/.env"