|
| 1 | +--- |
| 2 | + |
1 | 3 | # Dashboard |
2 | 4 |
|
3 | 5 |  |
4 | 6 |
|
5 | | -**Dashboard** is a cross—platform 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. |
6 | 8 |
|
7 | 9 | 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. |
8 | 10 |
|
9 | 11 | --- |
10 | 12 |
|
11 | | -## 🚀 Main features |
| 13 | +## 🚀 Main Features |
12 | 14 |
|
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. |
21 | 23 |
|
22 | | -## Installation |
| 24 | +--- |
23 | 25 |
|
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 |
25 | 27 |
|
| 28 | +Ready-to-use installation files for the latest version can be found on the **[Releases page](https://github.com/openipc/dashboard/releases)**. |
26 | 29 |
|
27 | 30 | #### 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. |
30 | 33 |
|
31 | 34 | #### 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. |
34 | 37 |
|
35 | 38 | #### 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: |
38 | 41 | ```bash |
39 | 42 | chmod +x OpenIPC-Dashboard-x.x.x.AppImage |
40 | 43 | ``` |
41 | | -3. Launch the app: |
| 44 | +3. Launch the app: |
42 | 45 | ```bash |
43 | 46 | ./OpenIPC-Dashboard-x.x.x.AppImage --no-sandbox |
44 | 47 | ``` |
45 | 48 |
|
46 | 49 | --- |
47 | 50 |
|
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 |
49 | 96 |
|
50 | | -### Technology stack |
| 97 | +### Technology Stack |
51 | 98 | * [Electron](https://www.electronjs.org/) |
52 | 99 | * [Node.js](https://nodejs.org/) |
53 | 100 | * 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 |
57 | 103 |
|
| 104 | +### Launching in Development Mode |
58 | 105 |
|
59 | | -### Launching in development mode |
60 | | - |
61 | | -1. Clone the repository: |
| 106 | +1. Clone the repository: |
62 | 107 | ```bash |
63 | 108 | git clone https://github.com/openipc/dashboard.git |
64 | | - cd openipc-dashboard |
| 109 | + cd dashboard |
65 | 110 | ``` |
66 | 111 |
|
67 | | -2. Install the dependencies: |
68 | | -``bash |
69 | | -npm install |
| 112 | +2. Install the dependencies: |
| 113 | + ```bash |
| 114 | + npm install |
70 | 115 | ``` |
71 | 116 |
|
72 | | -3. Launch the app: |
| 117 | +3. Launch the app: |
73 | 118 | ```bash |
74 | 119 | npm start |
75 | 120 | ``` |
76 | 121 |
|
77 | | -### Building the app |
| 122 | +### Building the App |
78 | 123 |
|
79 | 124 | To build the installation files for your current platform, run the command: |
80 | 125 |
|
81 | 126 | ```bash |
82 | 127 | npm run dist |
83 | 128 | ``` |
84 | 129 |
|
85 | | -The finished files will appear in the dist folder. |
| 130 | +The finished files will appear in the `dist` folder. |
0 commit comments