#!/bin/sh # Dashboard container entrypoint. # Starts everything in the background and nginx in the foreground, so a slow # or unreachable upstream (git hosts, netbird, calendar) never blocks the # web server from coming up. # Start the small API proxy (for Open WebUI chat) in the background. node /opt/dashboard/server.js & # Start cron daemon in the background to refresh data every 15 minutes. /usr/sbin/crond -f -l 8 & # Run the initial data fetch in the background; cron keeps it fresh after that. ( cd /opt/dashboard && node update-data.js ) & # First health-check sweep in the background; cron re-runs it every minute. ( cd /opt/dashboard && node update-health.js ) & # Start nginx in the foreground. exec nginx -g "daemon off;"