A web-based interface for managing TimeKpr parental controls across multiple computers in your network.
- Remote Management: Control multiple computers running TimeKpr from a single web interface
- Time Adjustments: Add or remove time for users on remote systems
- Usage Tracking: View daily and weekly usage statistics with interactive charts
- Weekly Scheduling: Set different time limits for each day of the week
- Real-time Sync Status: Live updates of synchronization status without page refresh
- User Management: Add, validate, and monitor users across different systems
- Background Synchronization: Automatic synchronization of settings and time adjustments
- Responsive Design: Works on desktop and mobile devices
Before running TimeKpr WebUI, ensure you have:
- Docker and Docker Compose installed on your system
- TimeKpr-nExT installed on all target computers you want to manage
- Network access between the WebUI host and target computers
- Clone the repository:
git clone https://github.com/yourusername/timekpr-ui.git
cd timekpr-ui- Start with Docker Compose:
docker-compose up -dThis will build the container and start the application on http://localhost:5000
π Data Persistence: The application uses a Docker named volume (timekpr_data) to persist your database and configuration. Your data will survive container rebuilds, updates, and system restarts without any additional setup.
-
Open your browser and navigate to
http://localhost:5000 -
Login with default credentials:
- Username:
admin - Password:
admin
- Username:
-
β οΈ IMPORTANT - Change Password Immediately:- Go to Settings page
- Change the default password
- This password will be used for both web login AND SSH connections to managed computers
For each computer you want to manage remotely:
sudo apt update
sudo apt install timekpr-nextsudo adduser timekpr-remote
sudo usermod -aG timekpr timekpr-remotesudo passwd timekpr-remote
# Enter the SAME password you set in the web interface# Test from the WebUI host machine
ssh timekpr-remote@TARGET_COMPUTER_IP- Go to Admin panel in the web interface
- Click "Add User"
- Enter:
- Username: The actual user account on the remote computer
- System IP: IP address of the remote computer
- Click "Add User" - the system will automatically validate the connection
The main dashboard provides a comprehensive view of all managed users:
Real-time view of all users with usage charts, time remaining, and sync status
- π Usage Charts: Weekly usage history with weekend highlighting
- β±οΈ Time Left Today: Current remaining time for each user
- π Sync Status: Real-time indicators for pending changes
- β‘ Quick Actions: Instant time adjustments and schedule access
- Click "Adjust Time" on any user card
- Use +15m/-15m buttons or set custom amounts
- Changes apply immediately if the computer is online
- Offline computers receive updates when they come back online
Modern toast notifications replace old popup dialogs
- Click "Schedule" for detailed time management
- Set different time limits for each day of the week
- Weekdays vs Weekends: Visual distinction in charts
- Real-time Sync: Status badges update automatically every 5 seconds
Comprehensive weekly schedule management with sync status
- Add/Remove Users: Manage users across multiple computers
- Validation Status: Real-time connection verification
- Usage History: Track patterns and trends
- Background Tasks: Automatic sync monitoring (hidden when working properly)
- Error Handling: Smart notifications appear only when issues need attention
- Connection Status: Live indicators for each managed system
The system continuously monitors and synchronizes:
- β Time adjustments for offline computers
- β Weekly schedule changes
- β Usage data collection every 10 seconds
- β Automatic retry for failed connections
- π’ Hidden: Everything working normally
- π‘ "Schedule Not Synced": Changes pending sync
- π΄ Error indicators: Issues requiring attention
The responsive design works seamlessly on:
- π± Smartphones: Touch-optimized controls
- π± Tablets: Adaptive grid layouts
- π» Desktop: Full feature access
FLASK_ENV: Development mode (default: production)- Custom database paths and network settings available
# docker-compose.yml modifications
services:
web:
ports:
- "8080:5000" # Change port binding
volumes:
- timekpr_data:/app/instance # Database persistence (named volume)
volumes:
timekpr_data: # Docker-managed persistent storage- Connection Issues: Verify SSH access and user permissions
- Sync Problems: Check background task status in dashboard
- Performance: Monitor system resources for large user bases
- Fork the repository
- Create a feature branch
- Submit a pull request with detailed description
MIT License - see LICENSE file for details.
- This project works with Timekpr-nExT, a parental control tool for Linux
- Built with Flask, SQLAlchemy, and Paramiko
- Inspired by timekpr-next-remote - Main reason for creating this version was the need for background service that applies changes to PCs that are currently powered down.