MagicMirror²
MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant. MagicMirror² is built by the creator of the original MagicMirror with the incredible help of a growing community of contributors.
Note
For this guide you should be familiar with the basic concepts of
Prerequisites
Node and npm
We’re using Node.js in the latest version:
[isabell@stardust ~]$ uberspace tools version show node
Using 'Node.js' version: '20'
[isabell@stardust ~]$
Your website domain needs to be set up:
[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$
Installation
We clone the repository to our home directory and install the application.
[isabell@stardust ~]$ git clone https://github.com/MichMich/MagicMirror
[isabell@stardust ~]$ cd MagicMirror
[isabell@stardust MagicMirror]$ npm install
[…]
[isabell@stardust MagicMirror]$ npm audit fix --force
[…]
[isabell@stardust MagicMirror]$
Configuration
After the installation you need to setup your config file.
[isabell@stardust MagicMirror]$ cp config/config.js.sample config/config.js
[isabell@stardust MagicMirror]$
Change the address from localhost
to 0.0.0.0
. You may remove the IP addresses in ipWhitelist
to access your MagicMirror² from everywhere.
address: "0.0.0.0",
Setup daemon
Create ~/etc/services.d/magicmirror.ini
with the following content:
[program:magicmirror]
directory=%(ENV_HOME)s/MagicMirror
command=npm run server
autostart=yes
autorestart=yes
After creating the configuration, tell supervisord to refresh its configuration and start the service:
[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE RUNNING pid 26020, uptime 0:03:14
[isabell@stardust ~]$
If it’s not in state RUNNING, check your configuration.
Configure web server
Note
MagicMirror² running on port 8080.
To make the application accessible from the outside, configure a web backend:
[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$
Updates
Note
Check the update feed regularly to stay informed about the newest version.
Stop your service and repeat the installation step.
Tested with MagicMirror² v2.25.0 and Uberspace 7.15.6
Written by: Thomas Johnson <https://johnson.tj/>