Skip to content

Commit 574183a

Browse files
committed
Merge branch 'main' of https://github.com/OpenIPC/dashboard
2 parents 8836b77 + b802137 commit 574183a

File tree

1 file changed

+79
-34
lines changed

1 file changed

+79
-34
lines changed

README.md

Lines changed: 79 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,130 @@
1+
---
2+
13
# Dashboard
24

35
![OpenIPC Dashboard Screenshot](build/screenshot.png)
46

5-
**Dashboard** is a crossplatform desktop application for easy camera management and monitoring based on the OpenIPC firmware.
7+
**Dashboard** is a cross-platform desktop application for easy camera management and monitoring based on the OpenIPC firmware.
68

79
The application was created using Electron and provides a single interface for viewing video streams, administering settings, working with the file system, and direct access to the camera's command line.
810

911
---
1012

11-
## 🚀 Main features
13+
## 🚀 Main Features
1214

13-
* **Multi-view:** View up to 4 video streams simultaneously in a customizable grid.
14-
* **Double flow:** Instantly switch between the main (HD) and secondary (SD) streams with a double click.
15-
* **Full-screen mode:** Detailed full-screen viewing of a single camera.
16-
* **Built-in SSH client:** A full-fledged terminal for direct access to the camera's command line without the need for third-party programs.
17-
* **File Manager (SCP):** Convenient two-panel manager for downloading firmware, downloading recordings and managing files on the camera.
18-
* **Settings Editor:** Graphical interface for changing all parameters of the Majestic firmware (`majestic.yaml`) grouped by tabs.
19-
* **Monitoring:** Displays the status (online/offline) and temperature of the SoC camera in real time.
20-
* **Cross-platform:** Works on Windows, macOS and Linux.
15+
* **Multi-view:** View up to 64 video streams simultaneously in a customizable grid.
16+
* **Dual Stream Support:** Instantly switch between the main (HD) and secondary (SD) streams.
17+
* **Full-screen Mode:** Detailed full-screen viewing of a single camera with a double-click.
18+
* **Built-in SSH Client:** A full-fledged terminal for direct access to the camera's command line without third-party programs.
19+
* **File Manager (SCP):** A convenient two-panel manager for uploading firmware, downloading recordings, and managing files on the camera.
20+
* **Settings Editor:** A graphical interface for changing all parameters of the Majestic firmware (`majestic.yaml`), grouped by tabs.
21+
* **Monitoring:** Displays the status (online/offline) and SoC temperature of the camera in real time.
22+
* **Cross-platform:** Works on Windows, macOS, and Linux.
2123

22-
## Installation
24+
---
2325

24-
The ready-made installation files for the latest version can be found on the **[Releases page](https://github.com/openipc/dashboard/releases)**.
26+
## 📦 Installation
2527

28+
Ready-to-use installation files for the latest version can be found on the **[Releases page](https://github.com/openipc/dashboard/releases)**.
2629

2730
#### Windows
28-
1. Download the file `OpenIPC-Dashboard-Setup-x.x.x.exe `.
29-
2. Run the installer and follow the instructions.
31+
1. Download the `OpenIPC-Dashboard-Setup-x.x.x.exe` file.
32+
2. Run the installer and follow the instructions.
3033

3134
#### macOS
32-
1. Download the file `OpenIPC-Dashboard-x.x.x.dmg'.
33-
2. Open the `.dmg` file and drag and drop the `OpenIPC Dashboard.app' into the Applications folder.
35+
1. Download the `OpenIPC-Dashboard-x.x.x.dmg` file.
36+
2. Open the `.dmg` file and drag the `OpenIPC Dashboard.app` into your Applications folder.
3437

3538
#### Linux
36-
1. Download the file `OpenIPC-Dashboard-x.x.x.AppImage'.
37-
2. Make the file executable:
39+
1. Download the `OpenIPC-Dashboard-x.x.x.AppImage` file.
40+
2. Make the file executable:
3841
```bash
3942
chmod +x OpenIPC-Dashboard-x.x.x.AppImage
4043
```
41-
3. Launch the app:
44+
3. Launch the app:
4245
```bash
4346
./OpenIPC-Dashboard-x.x.x.AppImage --no-sandbox
4447
```
4548

4649
---
4750

48-
## 🛠️ For developers
51+
## 🎨 White-Labeling & Branding
52+
53+
The application supports full customization (white-labeling), allowing you to adapt it for your company or clients.
54+
55+
### How It Works
56+
57+
On startup, the application looks for a `branding.json` file in the same directory as its executable file (`.exe`, `.AppImage`). If the file is found, the application will apply the custom settings. Otherwise, it will run with the default "DASHBOARD for OpenIPC" branding.
58+
59+
### Step-by-Step Guide
60+
61+
1. **Locate the Application Folder:** Find the directory where the application's executable is located.
62+
2. **Create `branding.json`:** In that same directory, create a new text file named exactly `branding.json`.
63+
3. **Configure the File:** Open `branding.json` in a text editor and add your desired settings. See the parameters and examples below.
64+
4. **(Optional) Add Your Logo:** If you specified a `logoPath`, place the logo image file in the same directory.
65+
5. **Launch the Application:** Run the executable to see your changes.
66+
67+
### Configuration Parameters
68+
69+
| Parameter | Type | Description |
70+
| -------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
71+
| `appName` | `String` | Replaces the default application name. |
72+
| `logoPath` | `String` | Relative path to your logo file (e.g., `custom_logo.png`). Recommended: 80x80px PNG with transparency. |
73+
| `features` | `Object` | An object to enable or disable specific UI features. |
74+
| `showDonations` | `Boolean` | If `false`, hides the "Support the Project" section in the "About" tab. Default is `true`. |
75+
| `showIssueReporting` | `Boolean` | If `false`, hides the "Report an Issue" button in the settings window. Default is `true`. |
76+
| `showAboutTab` | `Boolean` | If `false`, completely hides the "About" tab in the settings window. Default is `true`. |
77+
78+
### Example `branding.json`
79+
80+
```json
81+
{
82+
"appName": "VMS Pro",
83+
"logoPath": "vms_pro_logo.png",
84+
"features": {
85+
"showDonations": false,
86+
"showIssueReporting": false,
87+
"showAboutTab": true
88+
}
89+
}
90+
```
91+
> **Note:** Only include the parameters you wish to override. Any omitted parameters will use their default values. The application must be restarted for changes to take effect.
92+
93+
---
94+
95+
## 🛠️ For Developers
4996
50-
### Technology stack
97+
### Technology Stack
5198
* [Electron](https://www.electronjs.org/)
5299
* [Node.js](https://nodejs.org/)
53100
* HTML, CSS, JavaScript (Vanilla JS)
54-
* [JSMpeg](https://jsmpeg.com /) for video decoding
55-
* [ssh2](https://github.com/mscdex/ssh2 ) for SSH and SCP
56-
The finished files will appear in the dist folder.
101+
* [JSMpeg](https://jsmpeg.com/) for video decoding
102+
* [ssh2](https://github.com/mscdex/ssh2) for SSH and SCP
57103
104+
### Launching in Development Mode
58105
59-
### Launching in development mode
60-
61-
1. Clone the repository:
106+
1. Clone the repository:
62107
```bash
63108
git clone https://github.com/openipc/dashboard.git
64-
cd openipc-dashboard
109+
cd dashboard
65110
```
66111
67-
2. Install the dependencies:
68-
``bash
69-
npm install
112+
2. Install the dependencies:
113+
```bash
114+
npm install
70115
```
71116
72-
3. Launch the app:
117+
3. Launch the app:
73118
```bash
74119
npm start
75120
```
76121
77-
### Building the app
122+
### Building the App
78123
79124
To build the installation files for your current platform, run the command:
80125
81126
```bash
82127
npm run dist
83128
```
84129
85-
The finished files will appear in the dist folder.
130+
The finished files will appear in the `dist` folder.

0 commit comments

Comments
 (0)