JESYNC UI TOOL DASHBOARD is a powerful, user-friendly web interface designed to simplify the management and automation of Jesync configuration files, LibreQoS settings, system services, and backups. It brings modern usability to advanced system operations, particularly for environments using LibreQoS and MikroTik integrations.
A web-based GUI to manage Jesync and LibreQoS configuration files
- View and edit Jesync and LibreQoS configuration files from a centralized dashboard.
- Supports JSON, Python, CSV, and plain text files.
- View-only protection for sensitive or read-only roles.
- Seamlessly manage essential LibreQoS files (
network.json
,lqos.conf
,ShapedDevices.csv
) directly from the UI. - Restart LibreQoS services (
lqosd
,lqos_node_manager
,lqos_scheduler
) with a click. - Auto-status display shows live health of services (active/inactive) using
systemctl
.
- Designed for PisoWiFi-style systems that depend on Jesync + MikroTik API + updatecsv.py.
- Easily manage and restart
updatecsv.service
for automated device updates and control.
- Role-based login system (admin and viewer).
- Admins can manage users, including creating, editing, or deleting accounts.
- Prevents accidental lockout (e.g., cannot delete last admin or self).
- One-click Backup and Restore options available for each editable file.
- Backups stored in
/opt/jesyncbak
, preserving historical changes. - Ensures safe testing and editing with quick rollback capability.
- JESYNC UI runs as a systemd service (
jesync_dashboard.service
). - Hassle-free setup with one-line installation script.
Managing LibreQoS and Jesync manually can be tedious and error-prone β especially for less technical users. JESYNC UI TOOL streamlines the process:
- No need to SSH into your server to edit files.
- Avoid misconfigurations and typos with a clean editor.
- Visually confirm your service statuses without CLI commands.
- Quickly fix issues or roll back broken configs with backup & restore.
Itβs an ideal companion for LibreQoS operators, PisoWifi developers, and system admins who value productivity, clarity, and peace of mind.
Requirement | Status |
---|---|
OS | Ubuntu 22.04 / 24.04 |
Python | Python 3.10+ |
Privileges | sudo or root |
Internet Access | Required for installation |
bash <(curl -sSL https://github.com/jesienazareth/jesync_dashboard/raw/main/install_jesync_dashboard.sh)
This will:
- Install dependencies
- Clone the repo from GitHub
- Set up virtual environment
- Create & enable systemd service
Clone and run the installer:
git clone https://github.com/jesienazareth/jesync_dashboard.git
cd jesync_dashboard
./install_jesync_dashboard.sh
After installation, start the dashboard service:
sudo systemctl start jesync_dashboard.service
Enable the service to start on boot:
sudo systemctl enable jesync_dashboard.service
Access the dashboard in your browser at http://<your_server_ip>:<port>
.
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-venv python3-pip git curl nginx
sudo mkdir -p /opt/libreqos/src
cd /opt/libreqos/src
sudo git clone https://github.com/jesienazareth/jesync_dashboard.git
cd jesync_dashboard
sudo chown -R $USER:$USER .
python3 -m venv venv
source venv/bin/activate
If you have requirements.txt:
pip install -r requirements.txt
Otherwise, install manually:
pip install Flask Flask-Login Flask-SQLAlchemy python-dotenv
Create .env file:
nano .env
Paste this:
SECRET_KEY=your-super-secure-generated-key
To generate a secure key:
python3 -c "import secrets; print(secrets.token_hex(32))"
If you want to edit protected files like /etc/lqos.conf from the web UI:
No extra steps needed.
sudo groupadd jesyncedit
sudo usermod -aG jesyncedit $USER
sudo chown root:jesyncedit /etc/lqos.conf
sudo chmod 664 /etc/lqos.conf
π Log out and back in for group changes to apply.
sudo nano /etc/systemd/system/jesync_dashboard.service
Paste this:
[Unit]
Description=Jesync Dashboard Web UI
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/opt/libreqos/src/jesync_dashboard
Environment="PATH=/opt/libreqos/src/jesync_dashboard/venv/bin"
EnvironmentFile=/opt/libreqos/src/jesync_dashboard/.env
ExecStart=/opt/libreqos/src/jesync_dashboard/venv/bin/python app.py
Restart=always
[Install]
WantedBy=multi-user.target
Save and exit.
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable jesync_dashboard
sudo systemctl start jesync_dashboard
Open your browser and visit:
http://<your-server-ip>:5000
Example:
http://192.168.1.100:5000
Username | Password | Role |
---|---|---|
admin | adminpass | admin |
viewer | viewerpass | viewer |
You can manage users via "Manage Users" in the dashboard.
Action | Command |
---|---|
Start | sudo systemctl start jesync_dashboard |
Stop | sudo systemctl stop jesync_dashboard |
Restart | sudo systemctl restart jesync_dashboard |
Status | sudo systemctl status jesync_dashboard |
Logs | journalctl -u jesync_dashboard -e |
sudo ufw allow 5000
sudo systemctl stop jesync_dashboard
sudo systemctl disable jesync_dashboard
sudo rm /etc/systemd/system/jesync_dashboard.service
sudo rm -rf /opt/libreqos/src/jesync_dashboard
This project is licensed under the MIT License. See the LICENSE file for details.
If you find this project helpful, consider supporting its development. Your donations are greatly appreciated and help to keep the project alive and growing.
Thank you for your support!