@izanbard Hello, added a restart of the mirror (via pm2) if an npm install has been done and also added “–production” to the npm install command. Sometimes the module-developer have lot’s of extra stuff added in the package list just for developing. :)
I’m currently now running this script via CRON every night. :)
#!/usr/bin/env bash
updated=false
cd /home/pi/MagicMirror
echo "Checking for MagicMirror updates."
git fetch
if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]
then
echo "Found, updating..."
git pull
npm install
updated=true
echo "Update done."
else
echo "No update needed."
fi
echo ""
cd modules
for directory in *; do
if [[ -d ${directory} && ${directory} != "node_modules" && ${directory} != "default" ]]; then
echo "Checking for ${directory} updates."
cd ${directory}
git fetch
if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]; then
echo "Found, updating ${directory}..."
git pull
if [[ -e "package.json" && -f "package.json" ]]; then
echo "package.joson changed for ${directory}, installing..."
npm install --production
updated=true
echo "Update done."
fi
else
echo "No update needed."
fi
echo ""
cd ..
fi
done
if $updated; then
echo "Restart of MM needed, restarting now."
pm2 restart mm
fi
echo "All done. :)"