You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
BentoPi is a multi-purpose, self-hosted dashboard designed for Raspberry Pi. It provides real-time information such as weather, news, and transport disruptions, making it ideal for home automation, information kiosks, or personal dashboards.
Goals & Purpose
Self-hosted: All data is processed and displayed locally on your Raspberry Pi.
Dashboard: Aggregates weather, news, and transport information in a single interface.
Extensible: Easily add new data sources or dashboard widgets.
Modern UI: Built with React and Ant Design for a responsive, user-friendly experience.
API Backend: FastAPI-based backend for data aggregation and sensor integration.
Project Structure
frontend/: React + TypeScript dashboard UI.
backend/: FastAPI Python backend serving APIs and static files.
Getting Started
Prerequisites
Node.js >= 22 and pnpm >= 10 for frontend.
Python >= 3.10 for backend.
Running the Frontend (Development)
cd frontendpnpm ipnpm start
Access the dashboard athttp://localhost:5173 (default Vite port).
Running the Backend (Development)
cd backendmake venvsource venv/bin/activatemake upgrademake
Backend API runs athttp://localhost:8000.
Building the Frontend for Production
cd frontendpnpm build
The build output will be placed infrontend/dist/.
Running the Backend with Production Frontend
Build the frontend as above.
The build output will be automatically copied to the backend's web directory (automated in Docker build).
Start the backend:
cd backendmake venvsource venv/bin/activatemake upgrademake prod
Access the dashboard athttp://localhost:8000/web.
Docker
Build and run the complete system using Docker:
cd backenddocker build -t bentopi.docker run -p 8000:8000 bentopi
Development Notes
Frontend: Hot-reloading, TypeScript, React 19, Ant Design 5.
Backend: FastAPI, CORS enabled, sensor integration via SMBus.
Testing: Runpnpm test in frontend,make test in backend.
License
MIT
About
BentoPi is a multi-purpose self-hosted dashboard for your Raspberry Pi