-
Version 2.3 Stable
released this
2025-10-08 14:35:15 -05:00 | 0 commits to main since this releaseWhat's Changed
- Added new Themes
- Service Mode Light
- Service Mode Dark
- Retro
- Matrix
- Nuclear
- High Contrast light
- High Contrast Dark
- Added a notification and alert system
- Uses Discord Webhooks for notifications
- Works only in Service Mode
Full Changelog: https://github.com/SluberskiHomeLab/ditdashdot/compare/v2.2...v2.3
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Added new Themes
-
Version 2.2 Stable
released this
2025-10-03 08:03:14 -05:00 | 14 commits to main since this releaseVersion 2.2 Changelog
Added
-
Multiple Pages Support: Dashboard now supports multiple pages with individual configurations
- Collapsible navigation menu (hamburger menu) in top left corner
- Each page can have its own set of groups and services
- Clean URL routing (
/page/1,/page/2, etc.) - Auto-redirect from root URL to first available page
-
Enhanced Navigation:
- "Edit config" button added to dashboard (top right)
- "Return to dashboard" button added to configuration page (top right)
- Navigation menu shows all available pages with proper theming
-
Database Schema Updates:
- New
pagestable with title and display order - Added
page_idforeign key to groups table - Migration scripts for seamless upgrades
- Default "Home" page created automatically
- New
-
Configuration Management:
- New "Pages" tab in configuration interface
- Full CRUD operations for pages (Create, Read, Update, Delete)
- Page assignment for groups with visual indicators
- Validation to prevent deletion of pages with associated groups
-
Comprehensive Widgets System: Added dedicated support for widgets to display information from specific services
- Weather Widget: Displays current weather conditions, temperature, humidity, and wind speed
- Configurable API key, location, units (metric/imperial), and update intervals
- Real-time weather data from OpenWeatherMap API
- Weather icons and detailed conditions display
- Sun Position Widget: Shows sunrise, sunset times and daylight duration
- Configurable latitude/longitude coordinates
- Real-time daylight progress tracking with visual progress bar
- Automatic day/night status detection
- Date/Time Widget: Displays current time and date with customizable formatting
- Horizontal layout with time prominently displayed first, then date
- Configurable timezone, 12/24-hour format, date formats
- Optional greeting messages and timezone display
- Real-time updates every second
- Weather Widget: Displays current weather conditions, temperature, humidity, and wind speed
-
Widget Management Interface:
- New "Widgets" tab in configuration page
- Full CRUD operations for widgets (Create, Read, Update, Delete)
- JSON configuration editor with real-time validation
- Widget type selection dropdown (datetime, weather, sun_position)
- Display order and enable/disable toggles
- Page assignment for widgets
-
Database Schema:
- New
widgetstable with JSONB configuration support - Migration script
004_add_widgets.sqlfor seamless upgrades - Support for flexible widget configurations
- New
Changed
-
Service Configuration: IP address and port fields are now optional
- Updated database constraints to allow NULL values
- Enhanced form validation and error handling
- Improved user experience for services without IP/port
-
API Enhancements:
- Added comprehensive error handling and logging
- Better validation for required fields
- Specific error messages for different failure types
- New endpoints for pages management (
/api/pages)
-
Frontend Improvements:
- Enhanced error handling with detailed console logging
- Better form field handling for optional values
- Improved conditional rendering for IP:port display
- Updated service cards to handle optional fields gracefully
-
Widget Layout and Display:
- DateTime widgets displayed prominently below page title at full size
- Other widgets (weather, sun position) displayed at 50% size below search area
- Improved visual hierarchy with clean separation of widget types
- All widgets now use compact 12pt font sizes for better space utilization
- Responsive scaling with appropriate sizing for both full and small display modes
-
Enhanced JSON Configuration Editor:
- Fixed JSON editing functionality to allow proper text input during editing
- Real-time validation with visual error indicators (red border for invalid JSON)
- Improved state management to handle temporary invalid JSON states
- Prevention of saving widgets with invalid JSON configurations
- Better user experience with immediate feedback during editing
-
Widget Component Architecture:
- Extensible widget system designed for easy addition of new widget types
- Consistent theming across all widgets using dashboard color schemes
- Responsive design with proper scaling for different display contexts
- Error handling and loading states for all API-dependent widgets
Fixed
- Database constraint violations when saving services without IP/port
- Form validation issues in configuration interface
- Navigation and routing edge cases
- Service display inconsistencies
Technical Details
-
New API Endpoints:
GET /api/pages- List all pagesPOST /api/pages- Create new pagePUT /api/pages/:id- Update pageDELETE /api/pages/:id- Delete pageGET /api/widgets- List all widgetsPOST /api/widgets- Create new widgetPUT /api/widgets/:id- Update widgetDELETE /api/widgets/:id- Delete widget
-
Database Migrations:
002_optional_ip_port.sql- Made IP and port optional003_add_pages.sql- Added pages functionality
-
New Components:
NavigationMenu.js- Collapsible navigation drawerRootRedirect.js- Handles root URL redirectionWidgetContainer.js- Main widget display controller with selective renderingDateTimeWidget.js- Real-time clock and date displayWeatherWidget.js- Weather conditions and forecastSunPositionWidget.js- Solar position and daylight tracking
-
Widget Configuration Examples:
- Weather:
{"apiKey": "your-key", "location": "City,Country", "units": "metric"} - Sun Position:
{"latitude": 40.7128, "longitude": -74.0060} - DateTime:
{"timezone": "America/New_York", "format12Hour": true, "showSeconds": false}
- Weather:
Documentation
- WIDGETS.md: Comprehensive widget documentation including:
- Configuration guide for all widget types
- API key setup instructions
- Troubleshooting guide
- Usage examples and best practices
Docker Images
- Published to Docker Hub as
sluberskihomelab/ditdashdot-dashboard:2.2 - Published to Docker Hub as
sluberskihomelab/ditdashdot-api:2.2 - Also available with
:latesttag
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
2 downloads
-
-
Version 2.1 Stable
released this
2025-09-29 16:49:54 -05:00 | 23 commits to main since this releaseAdded Navigation Buttons:
- Added "Edit config" button to the dashboard (top right)
- Added "Return to dashboard" button to the config page (top right)
- Both buttons use Material-UI IconButtons with consistent styling
- Used React Router's Link component for navigation
Made IP and Port Optional:
- Created new migration 002_optional_ip_port.sql
- Modified database schema by dropping NOT NULL constraints
- Updated server endpoints to handle null values for ip and port
- Updated frontend form to mark these fields as optional
- Added proper null handling in both frontend and backend
- Improved error handling and validation
Updated Frontend Components:
- Modified ServiceCard.js to conditionally show IP:port only when both exist
- Updated ConfigurationPage.js form validation
- Added better error handling and logging
- Improved form field handling for optional values
Updated Backend (server/index.js):
- Added better validation for required fields
- Improved error handling with specific error messages
- Added proper type conversion for numeric values
- Added detailed logging for debugging
- Added specific handling for database constraints
Database Changes:
- Successfully ran migration to make IP and port optional
All these changes have resulted in:
-
More intuitive navigation between dashboard and config
-
Flexible service configuration with optional IP/port
-
More robust error handling
-
Improved user experience in the configuration interface
-
The application now provides more flexibility in service configuration while maintaining a clean and user-friendly interface.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
4 downloads
-
Version 2.0 Stable
released this
2025-09-20 14:21:58 -05:00 | 31 commits to main since this releaseAdded
- PostgreSQL database backend for storing configuration
- Web-based configuration interface at /config endpoint
- RESTful API for managing dashboard settings
- Material-UI based configuration GUI
- Real-time configuration updates
- Docker Compose setup with database and API services
- Bar Icons management through configuration UI
- Support for configurable icon shortcuts under search bar
- Field validation and error handling for icon management
Fixed
- Fixed syntax errors in ConfigurationPage.js causing build failures
- Fixed ESLint warnings in React components:
- Removed unused props spread in TabPanel component
- Improved interval management using useRef
- Enhanced timeout cleanup in service ping functionality
- Added proper error handling for fetch requests
- Fixed API endpoint issues:
- Corrected column name mismatch between frontend and backend for settings
- Aligned group API field names with database schema
- Added proper error handling and response messages
- Improved React component cleanup and memory management
- Enhanced error handling in configuration interface
- Resolved field name mismatches between frontend and database for bar icons
- Fixed icon URL persistence in configuration interface
- Added proper data transformation in API responses for consistent field naming
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads
-
Version 1.2 Stable
released this
2025-09-17 09:33:27 -05:00 | 78 commits to main since this releaseChangelog
All notable changes to DitDashDot will be documented in this file.
[B1.1.5] - 2025-09-17
Added
- Added support for customizing browser tab title through config.yml
- Added support for customizing favicon through config.yml
- Updated documentation with new configuration options
[B1.1.4] - 2025-09-17
Fixed
- Fixed Dockerfile keyword casing to follow Docker style conventions
- Fixed "AS" keyword capitalization in multi-stage build
[B1.1.3] - 2025-09-17
Fixed
- Fixed Dockerfile configuration for proper config file handling
- Improved nginx configuration for better performance and security
- Added proper volume mounts for configuration files
- Updated Docker build and run instructions in README.md
[B1.1.2] - 2025-09-17
Added
- Dockerfile for direct Docker build and deployment
- Updated README.md with Docker build instructions
[B1.1.1] - 2025-09-16
Added
- Font customization support through
config.ymlfont_family: Customize the font used throughout the dashboardfont_size: Control the base text size for the dashboardicon_size: Adjust the size of service icons
Changed
- Updated ServiceCard component to support customizable fonts and sizes
- Enhanced configuration documentation in README.md with new appearance settings
Developer Changes
- Added new state variables in App.js for font settings
- Improved prop passing for style customization in ServiceCard component
- Extended configuration loading to support appearance customization options
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
v1.1 Stable
released this
2025-08-21 12:20:35 -05:00 | 89 commits to main since this releaseChangelog
Feature Updates
- Added ping status dots to service cards.
- Introduced a
service_modetheme that changes service card color based on ping status. - Added a small quick access bar of applications centered under the search bar.
- Enabled setting the dashboard background via URL instead of requiring
background.jpg.
Bug Fixes
- Fixed theme handling to ensure proper text color changes.
- Improved centering and resizing of the background picture.
- Updated design to be more rounded and modern, moving away from a 1990s look.
Docker
- The
latesttag has been updated in
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
1.0 Stable
released this
2025-08-20 13:51:37 -05:00 | 104 commits to main since this releaseDitDashDot
DitDashDot is a simple, clean, and easy-to-configure services dashboard designed specifically for homelabs. Built with React.js and containerized with Docker, it provides a central hub to view and manage your homelab services.
*This is Release 1.0 there will be many releases in between. I am working hard on release 1.1 with hopes to get 2.0 on the way shortly after. *
Features
- Simple and intuitive dashboard interface
- Built with React.js for a fast and modern web experience
- Runs in Docker for easy deployment and management
- Clean design focused on usability
- Easily configurable to fit your homelab setup
- Simple yaml configuration
- Integrated Service pings
- Dark mode support
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads