@sdetweil Thanks!
I copied the config.js.sample to config.js before running the downgrade commands.
After downgrading and rebooting, the Magic Mirror showed up on my Pi 0 with the default configuration.
@sdetweil Thanks!
I copied the config.js.sample to config.js before running the downgrade commands.
After downgrading and rebooting, the Magic Mirror showed up on my Pi 0 with the default configuration.
@sdetweil said in Installing on a Pi Zero:
sudo npm -i npm@6
I got an error. Thanks for helping out, this is a new build so I don’t mind if it gets messed up and I need to start over.
$ sudo npm -i npm@6
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /home/pi/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open ‘/home/pi/package.json’
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-08-03T22_48_17_691Z-debug.log
@sdetweil Thanks, error log emailed. Ive done this process before without error ~9 months ago. Maybe the rasbian version or magic mirror version has changed recently that is now causing the problem.
@sdetweil said in Installing on a Pi Zero:
pm2 logs --lines=100
This just the Magic Mirror base. I haven’t added any extra modules.
Unfortunately I cannot paste the pm2 logs output. When I try it gets caught in some sort of spam filter and won’t let me post.
@sdetweil , I went through a fresh SD card install for a Pi Zero W. raspbian and then the raspberry.sh script via your github page. I believe everything completed without error.
However when Magic Mirror launches on reboot, I get a blank page indicating:
This site can’t be reached
localhost refused to connect
Any idea what to do to troubleshoot?
Hi all, Please bare with me since I’m not totally understanding the pm2 service. I setup Magic Mirror on a Raspberry Pi0 with @sdetweil scripts. I can manually start Magic Mirror fine, but it does not start when I do a reboot of my pi. Any idea how to fix?
After reboot, I see this in pm2 status:
pi@mm1:~ $ pm2 status
┌─────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ MagicMirror │ default │ 2.12.0 │ fork │ N/A │ 0 │ 0 │ stopped │ 0% │ 0b │ pi │ enabled │
└─────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
When I check the pm2 log, I see:
2020-10-31T16:18:53: PM2 log: [PM2] This PM2 is not UP TO DATE
2020-10-31T16:18:53: PM2 log: [PM2] Upgrade to version 4.5.0
2020-10-31T19:29:27: PM2 log: App [MagicMirror:0] exited with code [134] via signal [SIGINT]
2020-10-31T19:29:27: PM2 log: App [MagicMirror:0] starting in -fork mode-
2020-10-31T19:29:27: PM2 log: App [MagicMirror:0] online
2020-10-31T19:30:01: PM2 log: Stopping app:MagicMirror id:0
2020-10-31T19:30:01: PM2 log: App [MagicMirror:0] exited with code [0] via signal [SIGINT]
2020-10-31T19:30:01: PM2 log: pid=9716 msg=process killed
2020-10-31T19:30:01: PM2 log: PM2 successfully stopped
2020-10-31T19:32:10: PM2 log: ===============================================================================
2020-10-31T19:32:10: PM2 log: --- New PM2 Daemon started ----------------------------------------------------
2020-10-31T19:32:10: PM2 log: Time : Sat Oct 31 2020 19:32:10 GMT-0400 (Eastern Daylight Time)
2020-10-31T19:32:10: PM2 log: PM2 version : 4.4.1
2020-10-31T19:32:10: PM2 log: Node.js version : 10.21.0
2020-10-31T19:32:10: PM2 log: Current arch : arm
2020-10-31T19:32:10: PM2 log: PM2 home : /home/pi/.pm2
2020-10-31T19:32:10: PM2 log: PM2 PID file : /home/pi/.pm2/pm2.pid
2020-10-31T19:32:10: PM2 log: RPC socket file : /home/pi/.pm2/rpc.sock
2020-10-31T19:32:10: PM2 log: BUS socket file : /home/pi/.pm2/pub.sock
2020-10-31T19:32:10: PM2 log: Application log path : /home/pi/.pm2/logs
2020-10-31T19:32:10: PM2 log: Worker Interval : 30000
2020-10-31T19:32:10: PM2 log: Process dump file : /home/pi/.pm2/dump.pm2
2020-10-31T19:32:10: PM2 log: Concurrent actions : 2
2020-10-31T19:32:10: PM2 log: SIGTERM timeout : 1600
2020-10-31T19:32:10: PM2 log: ===============================================================================
I can start Magic Mirror manually by issuing:
pi@mm1:~ $ pm2 restart MagicMirror
Use --update-env to update environment variables
[PM2] Applying action restartProcessId on app [MagicMirror](ids: 0)
[PM2] [MagicMirror](0) ✓
┌─────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ MagicMirror │ default │ 2.13.0 │ fork │ 792 │ 2s │ 0 │ online │ 0% │ 2.4mb │ pi │ enabled │
└─────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Thanks!
@sdetweil Thanks! It is much more clear now. My screen size truncated the “apply” parameter at the end of the line. Now that I scroll horizontally I see the “apply”. Thanks again for the feedback.
Thanks for the reply. I did read that but it just seemed a little confusing since it was the same bash command. I haven’t run the upgrade script yet, so it might be more clear when I do but i guess the script knows if it’s been run a 2nd time?
@sdetweil said in Installing on a Pi Zero:
@RushHour99 yes, note that u have to run two times.
Thanks! Out of curiosity, why do I need to run it 2 times? I would have missed that detail if you didn’t’ let me know.
@sdetweil said in Installing on a Pi Zero:
@sdetweil My Magic Mirror install on a Pi Zero has been running great. I see an alert now that there is a Magic Mirror Update available. Do I just run your upgrade-script.sh to bring my Pi Zero install up to date with Magic Mirror v2.13.0?
@sdetweil Thanks for the reply. Magic Mirror does appear to be working just fine on my Pi Zero W. I only ran the install script. Should I run the upgrade script too?
I ran your raspberry.sh install script on a Raspberry Pi Zero W yesterday. I started with a fresh install of Rasbian. The script completed with some warnings, but the Magic Mirror started and seems to be running OK. What does this error mean? Should I try to fix it even though MagicMirror seems to be running OK?
The errored log file was located at /home/pi/.npm/_logs/2020-04-14T22_35_02_257Z-debug.log
Here is the snippet from the end:
10077 warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules/fsevents):
10078 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
10079 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS: darwin
10079 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch: any
10079 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS: linux
10079 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: arm
10080 verbose stack Error: electron-chromedriver@6.0.0 install: `node ./download-chromedriver.js`
10080 verbose stack Exit status 1
10080 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
10080 verbose stack at EventEmitter.emit (events.js:189:13)
10080 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
10080 verbose stack at ChildProcess.emit (events.js:189:13)
10080 verbose stack at maybeClose (internal/child_process.js:970:16)
10080 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
10081 verbose pkgid electron-chromedriver@6.0.0
10082 verbose cwd /home/pi/MagicMirror
10083 verbose Linux 4.19.97+
10084 verbose argv "/usr/bin/node" "/usr/local/bin/npm" "install" "eslint"
10085 verbose node v10.15.2
10086 verbose npm v6.14.4
10087 error code ELIFECYCLE
10088 error errno 1
10089 error electron-chromedriver@6.0.0 install: `node ./download-chromedriver.js`
10089 error Exit status 1
10090 error Failed at the electron-chromedriver@6.0.0 install script.
10090 error This is probably not a problem with npm. There is likely additional logging output above.
10091 verbose exit [ 1, true ]
install.log:
install starting - Tue Apr 14 17:54:46 EDT 2020
installing on armv6l processor system
the os is Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster
[96mUpdating packages ...[90m
Hit:1 http://archive.raspberrypi.org/debian buster InRelease Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease Reading package lists...
apt-get update completed ok
apt-get upgrade started
apt upgrade result =rc=0 Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[96mInstalling helper tools ...[90m
Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version (12.6).
curl is already the newest version (7.64.0-4+deb10u1).
git is already the newest version (1:2.20.1-2+deb10u1).
unzip is already the newest version (6.0-23+deb10u1).
wget is already the newest version (1.20.1-1.1).
wget set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[96mCheck current Node installation ...[0m
[0mNode currently installed. Checking version number.
[0mMinimum Node version: [1mv10.1.0[0m
[0mInstalled Node version: [1mv10.15.2[0m
[92mNo Node.js upgrade necessary.[0m
[96mCheck current NPM installation ...[0m
[0mNPM currently installed. Checking version number.
[0mMinimum npm version: [1mV6.0.0[0m
[0mInstalled npm version: [1mV5.8.0[0m
[96mnpm should be upgraded.[0m
[96mInstalling npm ...[90m
Reading package lists...
Building dependency tree...
Reading state information...
npm is already the newest version (5.8.0+ds6-4).
npm set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
upgrading npm to latest
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
+ npm@6.14.4
added 435 packages from 869 contributors in 416.088s
[92mnpm installation Done! version=V6.14.4[0m
[96mCloning MagicMirror ...[90m
[92mCloning MagicMirror Done![90m
package.json update for armv6l completed ok
[96mInstalling dependencies ...[90m
> electron-chromedriver@6.0.0 install /home/pi/MagicMirror/node_modules/electron-chromedriver
> node ./download-chromedriver.js
[92mDependencies installation Done![90m
setting up initial config.js
[96mCheck plymouth installation ...[0m
[90mSplashscreen: Checking themes directory.[0m
[90mSplashscreen: Create theme directory if not exists.[0m
[92mSplashscreen: Changed theme to MagicMirror successfully.[0m
install and setup pm2
pm2 not installed, installing
pm2 install result npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) /usr/local/bin/pm2 -> /usr/local/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2-dev -> /usr/local/lib/node_modules/pm2/bin/pm2-dev /usr/local/bin/pm2-docker -> /usr/local/lib/node_modules/pm2/bin/pm2-docker /usr/local/bin/pm2-runtime -> /usr/local/lib/node_modules/pm2/bin/pm2-runtime npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/pm2/node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) + pm2@4.2.3 added 206 packages from 202 contributors in 240.179s
get the pm2 platform specific startup command
startup command = sudo env PATH=$PATH:/usr/bin:/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
-------------
__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
_\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
_\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
_\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
_\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
_\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
_\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
_\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
_\///______________\///______________\///__\///////////////__
Runtime Edition
PM2 is a Production Process Manager for Node.js applications
with a built-in Load Balancer.
Start and Daemonize any application:
$ pm2 start app.js
Load Balance 4 instances of api.js:
$ pm2 start api.js -i 4
Monitor in production:
$ pm2 monitor
Make pm2 auto-boot at server restart:
$ pm2 startup
To go further checkout:
http://pm2.io/
-------------
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target
[Service]
Type=forking
User=pi
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=$PATH:/usr/bin:/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/pi/.pm2
PIDFile=/home/pi/.pm2/pm2.pid
Restart=on-failure
ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/local/lib/node_modules/pm2/bin/pm2 kill
[Install]
WantedBy=multi-user.target
Target path
/etc/systemd/system/pm2-pi.service
Command list
[ 'systemctl enable pm2-pi' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-pi.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-pi...
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save
[PM2] Remove init script via:
$ pm2 unstartup systemd
pm2 startup command done
configure the pm2 config file for MagicMirror
start MagicMirror via pm2 now
save MagicMirror pm2 config now
disable screensaver via gsettings was true and uint32 300
disable screensaver via lightdm.conf
disable screensaver via lxsession
[92mWe're ready! Run [1m[97mpm2 start MagicMirror[0m[92m from the ~/MagicMirror directory to start your MagicMirror.[0m
install completed - Tue Apr 14 19:02:54 EDT 2020
@sdetweil Thanks for info. I was hoping for a free workaround, but I understand the reasoning.
I can’t get the NASDAQ composite to show either. I tried ^IXIC and NASDAQ:^IXIC.
Any ideas?