Bazzeye is a lightweight, responsive web dashboard designed for Bazzite/Linux handhelds and gaming systems. It provides system monitoring, steam game integration, and administrative controls in a sleek interface.
- System Monitoring: Real-time stats for CPU, Memory, Disk Usage, Network activity, and SMART health status.
- Steam Integration:
- Now Playing: Detects currently running Steam games and displays artwork/details.
- Library: View installed games.
- Web Terminal:
- Full XTerm.js integration.
- Multiple Tabs support.
- Persistent Layout: Add/Remove terminal cards and save their positions.
- System Actions (Bazzite/Ujust):
- One-click Actions: Update System, Fix Proton Hangs, Restart Audio Services, and Run Benchmarks directly from the UI.
- Powered by Bazzite's
ujustcommand.
- Package Manager:
- Search and Install DNF packages (via
rpm-ostree). - View and remove layered packages.
- Search and Install DNF packages (via
- Zero-Config Deployment:
- Dedicated build script for immutable OS environments.
- No manual hacking of
node_modulesrequired—uses Distrobox for clean builds.
- Security:
- Password Protected Sudo Mode: Secure critical actions (reboot, terminal input, uninstalls) with a custom password.
- Session Timeout: Sudo mode auto-locks after inactivity.
Bazzeye is designed to be built on Bazzite (an immutable/atomic OS) without modifying the base system. We use Distrobox to handle the build environment.
git clone https://github.com/Daxiongmao87/bazzeye.git
cd bazzeyeWe provide a helper script that spins up a Fedora container, installs dependencies, and builds the project for you:
./bazzeye_setup.shThis will create a temporary distrobox container to build the app, then download a portable Node.js runtime for execution.
./bazzeye_start.shAccess at http://localhost:3000 (or your IP).
To run automatically on boot:
To run automatically on boot, simply answer "y" when the setup script asks: "Do you want to install Bazzeye as a system service?"
The script will automatically generate a valid Systemd service file for your specific user/path and install it. Note: The service runs as your current user, not root. Privileged actions (like reboot) are handled via secure password-less sudo rules configured during setup.
To update your installation to the latest version:
We include a helper script to automate the update process:
./bazzeye_update.shIf you prefer to do it manually:
- Pull the latest changes:
git pull
- Install dependencies:
npm run install:all
- Rebuild:
npm run build
- Restart the service:
systemctl --user restart bazzeye
Access the dashboard at http://<your-ip-address>:3000.
- Edit Layout: Click the Settings (Cog) icon to unlock the grid. You can then resize/move widgets or add new Terminal Cards (Plus icon).
- Security: Click the Key icon to set/change your dashboard password.
- Sudo Mode: Click the Shield icon to unlock administrative features (requires password if set).
To remove the service and clean up all generated files:
./bazzeye_uninstall.sh- Build Fails?: Ensure you have
distroboxinstalled (standard on Bazzite). Run./bazzeye_setup.shagain to retry. - "npm not found"?: Do not run
npm installdirectly on the host. Use the setup script.
MIT