Skip to content
Merged
Changes from 31 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
70acd0c
Update installation.md
briodan Sep 15, 2023
956cc9e
Update installation.md
briodan Sep 15, 2023
f158683
Update installation.md
briodan Sep 15, 2023
68522f3
Update installation.md
briodan Sep 15, 2023
457bdf5
Update installation.md
briodan Sep 15, 2023
d6cd8c7
Update installation.md
briodan Sep 15, 2023
2502639
Update installation.md
briodan Sep 18, 2023
2445414
Update installation.md
briodan Sep 18, 2023
51810c9
Update installation.md
briodan Sep 18, 2023
0b20703
Update installation.md
briodan Sep 18, 2023
14fec29
Update installation.md
briodan Sep 18, 2023
1d92044
Update installation.md
briodan Sep 18, 2023
433214a
Merge branch 'develop' into master
rejas Oct 4, 2023
ab6f81c
Merge branch 'develop' into master
rejas Oct 13, 2023
0bc1e54
Update installation.md
briodan Oct 13, 2023
1429733
Update installation.md
briodan Oct 14, 2023
7e8f28f
weather.md: update for recent changes (#230)
crazyscot Jan 29, 2024
154a843
add updates feature configuration (#234)
bugsounet Mar 23, 2024
a78bd1f
Update calendar.md (#236)
bugsounet Mar 23, 2024
2ce3c94
updateOnFetch feature Docs (#235)
bugsounet Mar 23, 2024
4e451f8
Minor changes (#238)
KristjanESPERANTO Mar 30, 2024
43103c3
Merge branch 'mm-master' into mm-develop
rejas Apr 2, 2024
942936f
Merge branch 'mm-master' into mm-develop
rejas Jul 3, 2024
6b6eb2d
Update compliments docs page (#242)
WallysWellies Jul 3, 2024
87ff347
Cleanup formatting (#247)
rejas Jul 3, 2024
f642eb1
Merge branch 'mm-master' into mm-develop
rejas Jul 3, 2024
82004ba
Merge branch 'develop' into master
briodan Jul 8, 2024
61f70b7
UK Met Office Documentation Fix (#253)
jargordon Jul 8, 2024
89b6259
Merge branch 'master' into develop
khassel Jul 11, 2024
7f29d9b
Merge branch 'develop' into master
briodan Jul 12, 2024
98b72b3
Merge remote-tracking branch 'upstream/master'
briodan Nov 3, 2024
6f27891
Merge branch 'master' into master
rejas Aug 29, 2025
d12cecb
run linter
Aug 29, 2025
9c17448
cleanup links
Aug 29, 2025
6683d3d
remove stuff about mm.sh
Aug 29, 2025
1f90944
Fix formatting and capitalization in installation guide
KristjanESPERANTO Aug 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 47 additions & 23 deletions getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ installers can be found under:

## Manual Installation

1. Download and install the latest _Node.js_ version, see the official
documentation:
These instructions deploy a standalone version of MagicMirror², for [Server Only](/getting-started/installation.html#server-only) and [Client Only](/getting-started/installation.html#client-only) installs please read the install specific instructions below

1. Download and install the latest _Node.js_ version, see the official documentation:

- [Linux based distributions](https://github.com/nodesource/distributions)
- [Others](https://nodejs.org/en/download)
Expand All @@ -28,8 +29,7 @@ installers can be found under:
5. Install the application: `npm run install-mm`
6. Make a copy of the config sample file:
`cp config/config.js.sample config/config.js`
7. Start the application: `npm run start` \
For **Server Only** use: `npm run server`
7. Start the application: `npm run start`

::: warning NOTE
The installation step for `npm run install-mm` will take a very
Expand Down Expand Up @@ -119,9 +119,6 @@ Otherwise the program won't start, but will display this error message:

Note the following:

- `npm start` does **not** work via SSH. But you can use
`DISPLAY=:0 nohup npm start &` instead. \
This starts the mirror on the remote display.
- If you want to debug on your Raspberry Pi you can use `npm run start:dev`
which will start MM with _Dev Tools_ enabled.
- To access the toolbar menu when in mirror mode, hit `ALT` key.
Expand All @@ -130,18 +127,23 @@ Note the following:

### Server Only

In some cases, you want to start the application without an actual app window.
In this case, you can start MagicMirror² in server only mode by manually running
`npm run server`. This will start the server, after which you can open the
application in your browser of choice. Detailed description below.

::: warning IMPORTANT
Make sure that you whitelist the interface/ip
(`ipWhitelist`) in the server config where you want the client to connect to,
otherwise it will not be allowed to connect to the server. You also need to set
the local host `address` field to `0.0.0.0` in order for the RPi to listen on
all interfaces and not only `localhost` (default).
:::
In some cases, you want to start the application without an actual app window. To do so after installation you can start MagicMirror² in server only mode by manually running the following command within the MagicMirror directory
`npm run server`

::: warning IMPORTANT please read the information below on fully setting up MagicMirror² for running in server only mode otherwise you wont be able to connect to your MagicMirror² server from a remote device
:::

In order to run MagicMirror² in server mode you need to:
- Allow Remote Connections to MagicMirror²
- Start MagicMirror² in Server mode on boot

#### Allow Remote Connections to MagicMirror²

By default MagicMirror² does not allow other remote devices to connect, this is controlled by settings inside the `config/config.js` file by interface and ip
- change address to `0.0.0.0` this will allow MagicMirror² to listen on all network interfaces
- change `ipWhitelist` to the list of IP's you want to allow to connect

Sample Configuration below [and link to full configuration options](/configuration/introduction.html#introduction)

```javascript
let config = {
Expand All @@ -152,10 +154,32 @@ let config = {
};
```

#### Start MagicMirror² in Server mode on boot

To always start MagicMirror² in server only mode you need to edit the `installers/mm.sh` file otherwise it will start in full mode after a reboot:

1. Backup mm.sh: `cp installers/mm.sh installers/mm.sh.bak`
2. Edit mm.sh: `nano mm.sh` (you can use your favorite editor)
3. Replace
`DISPLAY=:0 npm start`
with
`DISPLAY=:0 npm server`
4. Reboot

### Client Only

This is when you already have a server running remotely and want your RPi to
connect as a standalone client to this instance, to show the MM from the server.
Then from your RPi, you run it with:
`node clientonly --address 192.168.1.5 --port 8080`. (Specify the ip address and
port number of the server)
connect as a standalone client to this instance, to show the MagicMirror² from the server.

You can start MagicMirror² in client mode by manually running the following command with the MagicMirror directory:
`node clientonly --address 192.168.1.5 --port 8080`

To always start MagicMirror² in client mode you need to edit `installers/mm.sh` file otherwise it will start in full mode after a reboot:

1. Backup mm.sh: `cp installers/mm.sh installers/mm.sh.bak`
2. Edit mm.sh: `nano mm.sh` (you can use your favorite editor)
3. Replace
`DISPLAY=:0 npm start`
with
`DISPLAY=:0 node clientonly --address 192.168.1.5 --port 8080` (Specify the ip address and port number of the server)
4. Reboot