@fastybird/smart-panel 0.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +98 -0
  2. package/bin/smart-panel-service.js +1074 -0
  3. package/bin/smart-panel.js +43 -0
  4. package/dist/index.d.ts +6 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +6 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/installers/base.d.ts +78 -0
  9. package/dist/installers/base.d.ts.map +1 -0
  10. package/dist/installers/base.js +5 -0
  11. package/dist/installers/base.js.map +1 -0
  12. package/dist/installers/index.d.ts +8 -0
  13. package/dist/installers/index.d.ts.map +1 -0
  14. package/dist/installers/index.js +16 -0
  15. package/dist/installers/index.js.map +1 -0
  16. package/dist/installers/linux.d.ts +32 -0
  17. package/dist/installers/linux.d.ts.map +1 -0
  18. package/dist/installers/linux.js +406 -0
  19. package/dist/installers/linux.js.map +1 -0
  20. package/dist/utils/index.d.ts +5 -0
  21. package/dist/utils/index.d.ts.map +1 -0
  22. package/dist/utils/index.js +5 -0
  23. package/dist/utils/index.js.map +1 -0
  24. package/dist/utils/logger.d.ts +17 -0
  25. package/dist/utils/logger.d.ts.map +1 -0
  26. package/dist/utils/logger.js +55 -0
  27. package/dist/utils/logger.js.map +1 -0
  28. package/dist/utils/paths.d.ts +26 -0
  29. package/dist/utils/paths.d.ts.map +1 -0
  30. package/dist/utils/paths.js +57 -0
  31. package/dist/utils/paths.js.map +1 -0
  32. package/dist/utils/system.d.ts +87 -0
  33. package/dist/utils/system.d.ts.map +1 -0
  34. package/dist/utils/system.js +211 -0
  35. package/dist/utils/system.js.map +1 -0
  36. package/dist/utils/version.d.ts +11 -0
  37. package/dist/utils/version.d.ts.map +1 -0
  38. package/dist/utils/version.js +75 -0
  39. package/dist/utils/version.js.map +1 -0
  40. package/package.json +72 -0
  41. package/templates/environment.template +28 -0
  42. package/templates/systemd/smart-panel.service +31 -0
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@fastybird/smart-panel",
3
+ "version": "0.1.0-alpha.5",
4
+ "description": "FastyBird Smart Panel - IoT Dashboard for Linux devices",
5
+ "keywords": [
6
+ "fastybird",
7
+ "smart-panel",
8
+ "iot",
9
+ "home-automation",
10
+ "raspberry-pi",
11
+ "smart-home",
12
+ "dashboard",
13
+ "backend",
14
+ "admin",
15
+ "embedded"
16
+ ],
17
+ "homepage": "https://smart-panel.fastybird.com",
18
+ "bugs": "https://github.com/FastyBird/smart-panel/issues",
19
+ "license": "Apache-2.0",
20
+ "author": {
21
+ "name": "Studio81 Labs s.r.o.",
22
+ "email": "dev@studio81.cz",
23
+ "url": "https://www.studio81.cz"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/FastyBird/smart-panel.git"
28
+ },
29
+ "type": "module",
30
+ "main": "dist/index.js",
31
+ "bin": {
32
+ "smart-panel": "./bin/smart-panel.js",
33
+ "smart-panel-service": "./bin/smart-panel-service.js"
34
+ },
35
+ "files": [
36
+ "bin/",
37
+ "dist/",
38
+ "templates/",
39
+ "package.json",
40
+ "README.md",
41
+ "LICENSE.md"
42
+ ],
43
+ "scripts": {
44
+ "build": "tsc",
45
+ "start": "node ./node_modules/@fastybird/smart-panel-backend/dist/main",
46
+ "cli": "node ./node_modules/@fastybird/smart-panel-backend/dist/cli",
47
+ "migration:run": "node ./node_modules/typeorm/cli.js migration:run -d ./node_modules/@fastybird/smart-panel-backend/dist/dataSource.js",
48
+ "migration:revert": "node ./node_modules/typeorm/cli.js migration:revert -d ./node_modules/@fastybird/smart-panel-backend/dist/dataSource.js"
49
+ },
50
+ "dependencies": {
51
+ "@fastybird/smart-panel-admin": ">=0.1.0-0",
52
+ "@fastybird/smart-panel-backend": ">=0.1.0-0",
53
+ "chalk": "^5.4.1",
54
+ "commander": "^13.1.0",
55
+ "ora": "^8.2.0"
56
+ },
57
+ "devDependencies": {
58
+ "@types/node": "^24.12.0",
59
+ "typescript": "^5.8.3"
60
+ },
61
+ "engines": {
62
+ "node": ">=20"
63
+ },
64
+ "os": [
65
+ "linux"
66
+ ],
67
+ "cpu": [
68
+ "arm",
69
+ "arm64",
70
+ "x64"
71
+ ]
72
+ }
@@ -0,0 +1,28 @@
1
+ # Smart Panel Environment Configuration
2
+ # Copy this file to /etc/smart-panel/environment and customize as needed
3
+
4
+ # Node environment
5
+ NODE_ENV=production
6
+
7
+ # Backend server port
8
+ FB_BACKEND_PORT=3000
9
+
10
+ # Path to admin UI static files
11
+ # This is auto-configured during installation
12
+ # FB_ADMIN_UI_PATH=/path/to/admin/dist
13
+
14
+ # Database path
15
+ FB_DB_PATH=/var/lib/smart-panel/data
16
+
17
+ # Configuration path (for config.yaml)
18
+ FB_CONFIG_PATH=/var/lib/smart-panel/config
19
+
20
+ # JWT secret for authentication (auto-generated during installation)
21
+ # Only change if you need to invalidate all existing sessions
22
+ # FB_TOKEN_SECRET=<auto-generated>
23
+
24
+ # Application host URL (used for generating URLs)
25
+ # FB_APP_HOST=http://localhost
26
+
27
+ # Note: InfluxDB, mDNS, weather, and logging settings are now
28
+ # configured via config.yaml (managed through the admin UI)
@@ -0,0 +1,31 @@
1
+ [Unit]
2
+ Description=FastyBird Smart Panel
3
+ Documentation=https://smart-panel.fastybird.com
4
+ After=network-online.target
5
+ Wants=network-online.target
6
+
7
+ [Service]
8
+ Type=simple
9
+ User=smart-panel
10
+ Group=smart-panel
11
+ WorkingDirectory=/var/lib/smart-panel
12
+ EnvironmentFile=-/etc/smart-panel/environment
13
+ ExecStart=/usr/bin/node /usr/lib/node_modules/@fastybird/smart-panel/node_modules/@fastybird/smart-panel-backend/dist/main.js
14
+ Restart=on-failure
15
+ RestartSec=5
16
+ StandardOutput=journal
17
+ StandardError=journal
18
+ SyslogIdentifier=smart-panel
19
+
20
+ # Security hardening
21
+ # Note: NoNewPrivileges is NOT set because the app uses sudo for
22
+ # reboot/poweroff. ProtectKernelTunables and ProtectKernelModules
23
+ # are also omitted because they implicitly enable NoNewPrivileges.
24
+ ProtectSystem=strict
25
+ ProtectHome=true
26
+ ReadWritePaths=/var/lib/smart-panel
27
+ PrivateTmp=true
28
+ ProtectControlGroups=true
29
+
30
+ [Install]
31
+ WantedBy=multi-user.target