OpenVox GUI Version 3.7.1-beta1
This guide helps you solve common problems with OpenVox GUI. Think of it as your "fix-it" manual - we'll start with the most common issues and work our way to more complex ones.
- Quick Fixes (Try These First!)
- Login and Access Problems
- Service Won't Start
- Connection Problems
- Performance Issues
- Display and UI Problems
- Data and Report Issues
- Certificate Problems
- Update and Deployment Issues
- Getting More Help
Before diving into specific problems, try these common fixes that solve 80% of issues:
sudo systemctl restart openvox-guisudo systemctl status openvox-guiLook for:
- ✅ Green "active (running)" status
- ❌ Red "failed" or "inactive" status
- Windows/Linux: Press
Ctrl + F5 - Mac: Press
Cmd + Shift + R
# View recent errors
sudo journalctl -u openvox-gui -p err -n 50
# View all recent logs
sudo journalctl -u openvox-gui -n 100# Can you reach OpenVoxDB?
ping -c 2 openvox.yourcompany.com
# Is the port accessible?
telnet openvox.yourcompany.com 8081If these don't fix your problem, continue to the specific sections below.
Symptoms:
- Browser shows "This site can't be reached"
- Connection timeout errors
Solutions:
-
Check if the service is running:
sudo systemctl status openvox-gui # Should show "active (running)" -
Check if the port is open:
# See if something is listening on port 4567 sudo ss -tlnp | grep 4567
-
Check firewall settings:
# For Red Hat/CentOS: sudo firewall-cmd --list-all # For Ubuntu: sudo ufw status
-
Open the firewall port if needed:
# For Red Hat/CentOS: sudo firewall-cmd --permanent --add-port=4567/tcp sudo firewall-cmd --reload # For Ubuntu: sudo ufw allow 4567/tcp
-
Try accessing locally first:
curl -k https://localhost:4567/health # Should return: {"status":"ok","version":"3.7.1-beta1"}
Solution:
Reset the admin password:
sudo /opt/openvox-gui/venv/bin/python /opt/openvox-gui/scripts/manage_users.py passwd admin
# Enter new password when promptedOr create a new admin user:
sudo /opt/openvox-gui/venv/bin/python /opt/openvox-gui/scripts/manage_users.py add newadmin --role adminSolutions:
-
Check if caps lock is on (seriously, it happens!)
-
Verify the username exists:
sudo /opt/openvox-gui/venv/bin/python /opt/openvox-gui/scripts/manage_users.py list
-
Reset the password:
sudo /opt/openvox-gui/venv/bin/python /opt/openvox-gui/scripts/manage_users.py passwd username
-
Check if authentication is enabled:
grep AUTH_BACKEND /opt/openvox-gui/config/.env # Should show: AUTH_BACKEND=local
This is normal! OpenVox GUI uses a self-signed certificate by default.
Solution:
- Click "Advanced" or "Show Details"
- Click "Proceed to site" or "Accept Risk and Continue"
- The warning will appear each time unless you add an exception
To use a real certificate, see the Configuration documentation.
Symptoms:
● openvox-gui.service - OpenVox GUI
Loaded: loaded
Active: failed
Solutions:
-
Check for detailed errors:
sudo journalctl -u openvox-gui -n 100 --no-pager
-
Common causes and fixes:
Port already in use:
# Find what's using the port sudo ss -tlnp | grep 4567 # Either stop the other service or change OpenVox GUI port sudo nano /opt/openvox-gui/config/.env # Change APP_PORT=4567 to another port
Permission problems:
# Fix ownership sudo chown -R puppet:puppet /opt/openvox-gui # Fix permissions sudo chmod 755 /opt/openvox-gui sudo chmod 600 /opt/openvox-gui/config/.env
Python dependency issues:
cd /opt/openvox-gui source venv/bin/activate pip install --upgrade -r backend/requirements.txt deactivate
-
Test configuration manually:
cd /opt/openvox-gui source venv/bin/activate python -c "from backend.app.config import settings; print('Config OK')" deactivate
Solutions:
-
Check for configuration errors:
sudo nano /opt/openvox-gui/config/.env # Verify all settings are correct -
Check SSL certificates exist:
ls -la /etc/puppetlabs/puppet/ssl/certs/ # Should show certificate files -
Verify database is accessible:
ls -la /opt/openvox-gui/data/ # Should show openvox_gui.db
Solutions:
-
Verify OpenVoxDB is running:
# On the OpenVoxDB server: sudo systemctl status puppetdb -
Test connectivity:
# From OpenVox GUI server: ping openvoxdb.yourcompany.com telnet openvoxdb.yourcompany.com 8081 -
Check SSL certificates:
# Verify certificates exist ls -la /etc/puppetlabs/puppet/ssl/certs/*.pem ls -la /etc/puppetlabs/puppet/ssl/private_keys/*.pem
-
Test OpenVoxDB connection manually:
curl --cert /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem \ --key /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem \ --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem \ https://openvoxdb.yourcompany.com:8081/pdb/query/v4/nodes
-
Check configuration:
grep PUPPETDB /opt/openvox-gui/config/.env # Verify hostname and port are correct
Solutions:
-
Verify OpenVox Server is running:
# On the OpenVox Server: sudo systemctl status puppetserver -
Check configuration:
grep PUPPET_SERVER /opt/openvox-gui/config/.env
-
Test connection:
curl -k https://openvox.yourcompany.com:8140/puppet/v3/environments
Solutions:
-
Increase worker processes:
sudo nano /opt/openvox-gui/config/.env # Change UVICORN_WORKERS=2 to 4 or 8 sudo systemctl restart openvox-gui -
Check system resources:
# CPU and memory usage top # Disk space df -h
-
Check database size:
ls -lh /opt/openvox-gui/data/openvox_gui.db # If very large (>100MB), consider cleanup -
Optimize OpenVoxDB queries:
- Reduce the time range for report queries
- Limit the number of nodes displayed
Solutions:
-
Reduce worker count:
sudo nano /opt/openvox-gui/config/.env # Change UVICORN_WORKERS to 1 or 2 -
Restart service to clear memory:
sudo systemctl restart openvox-gui
-
Check for memory leaks:
# Monitor memory over time watch -n 5 'ps aux | grep openvox-gui'
Solutions:
-
Hard refresh your browser:
- Windows/Linux:
Ctrl + F5 - Mac:
Cmd + Shift + R
- Windows/Linux:
-
Clear all browser data:
- Chrome: Settings → Privacy → Clear browsing data
- Firefox: Settings → Privacy → Clear Data
-
Try incognito/private mode to confirm it's a cache issue
Solutions:
-
Check browser console for errors:
- Press
F12to open developer tools - Go to Console tab
- Look for red error messages
- Press
-
Verify data is being returned:
curl -k https://localhost:4567/api/dashboard/stats
-
Check for JavaScript errors:
- Disable browser extensions
- Try a different browser
Solutions:
-
Clear local storage:
- Open browser developer tools (F12)
- Go to Application/Storage tab
- Clear Local Storage for the site
-
Manually set theme:
// In browser console: localStorage.setItem("theme", "formal"); // or 'casual' location.reload();
Solutions:
-
Verify OpenVoxDB has data:
# Check OpenVoxDB directly curl -k https://localhost:8081/pdb/query/v4/nodes -
Check time synchronization:
# Ensure time is correct date # Sync time if needed sudo ntpdate -s time.nist.gov
-
Verify OpenVox agents are reporting:
# On an OpenVox agent: sudo puppet agent -t
Solutions:
-
Check report processor on OpenVox Server:
grep reports /etc/puppetlabs/puppet/puppet.conf # Should include "puppetdb" -
Verify reports are being stored:
# Query OpenVoxDB for recent reports curl -k https://localhost:8081/pdb/query/v4/reports?limit=10
-
Check report retention settings in OpenVoxDB
Solutions:
-
Refresh fact cache:
# On OpenVox agents: sudo puppet facts upload -
Check fact terminus:
grep facts_terminus /etc/puppetlabs/puppet/puppet.conf # Should be "puppetdb"
Solutions:
-
Verify sudo permissions:
sudo cat /etc/sudoers.d/openvox-gui # Should allow puppetserver ca commands -
Check OpenVox CA service:
sudo puppetserver ca list --all
-
Manually sign certificates:
sudo puppetserver ca sign --certname node.example.com
Solutions:
-
Check certificate dates:
sudo puppetserver ca list --all openssl x509 -in /path/to/cert.pem -noout -dates
-
Regenerate expiring certificates:
# On the agent: sudo puppet ssl clean sudo puppet agent -t # On the server: sudo puppetserver ca sign --certname node.example.com
Solutions:
-
Check r10k configuration:
sudo r10k deploy display
-
Verify Git access:
# Test Git repository access git ls-remote https://your-git-repo.com/control-repo.git -
Check sudo permissions:
grep r10k /etc/sudoers.d/openvox-gui
-
Run r10k manually to see errors:
sudo r10k deploy environment -pv
Solutions:
-
Verify OpenBolt is installed:
which bolt bolt --version
-
Install OpenBolt if missing:
# Red Hat/CentOS: sudo yum install openbolt # Ubuntu/Debian: sudo apt install openbolt
-
Check OpenBolt project configuration:
cat /opt/openvox-gui/bolt-project.yaml
For issues specific to the local OpenVox package mirror and the
curl ... | sudo bash agent install workflow, see
docs/INSTALLER.md -- it has the full feature
guide plus a dedicated troubleshooting section. Quick reference for
the most common gotchas:
Puppetserver wasn't restarted after the openvox-gui upgrade dropped its static-content mount config. The HTML is puppetserver's default "unknown path" page.
sudo systemctl restart puppetserver
sudo systemctl is-active puppetserverAfter the restart, the URL should return the install.bash script (~17 KB).
You appended args to the one-liner without bash -s -- between
bash and them. Bash interpreted --server as one of its own
options. The fix is to insert -s -- so bash treats trailing
tokens as positional args for the script:
curl -k --noproxy <server> https://<server>:8140/packages/install.bash | sudo bash -s -- --server <fqdn>The GUI's published one-liner doesn't pass extra args (the script auto-discovers the FQDN), so this only trips you if you're overriding behavior.
Your agent host is behind a corporate proxy and the bootstrap
curl tried to tunnel through it. Use the GUI's published
one-liner -- it includes --noproxy <fqdn> to bypass the proxy
for the puppetserver host:
curl -k --noproxy <fqdn> https://<fqdn>:8140/packages/install.bash | sudo bashFor the bare curl ... | bash form to work without --noproxy,
set no_proxy in /etc/environment on the host once.
You're seeing this on a follow-up apt-get update or dnf upgrade
after the agent install completed. install.bash installs
the puppet CA into the system trust store automatically, so this
should only happen if the CA install step failed (CA endpoint
unreachable from the agent, update-ca-certificates missing,
unsupported OS family). Re-run install.bash to retry, or install
the CA manually:
# Debian/Ubuntu
sudo curl -ksLf https://<fqdn>:8140/puppet-ca/v1/certificate/ca \
-o /usr/local/share/ca-certificates/openvox-puppet-ca.crt
sudo update-ca-certificates
# RHEL family
sudo curl -ksLf https://<fqdn>:8140/puppet-ca/v1/certificate/ca \
-o /etc/pki/ca-trust/source/anchors/openvox-puppet-ca.crt
sudo update-ca-trust extractThe local mirror at /opt/openvox-pkgs/ is empty. Either:
- Click Sync now on Infrastructure -> Agent Install in the GUI (admin/operator role required)
- Or trigger the systemd service from CLI:
sudo systemctl start openvox-repo-sync.service - Or just wait for the 02:30 nightly timer
The first sync downloads ~1-2 GB and takes 15-45 minutes.
In normal operation install.bash discovers the FQDN automatically
from the kernel's TCP state (the curl connection lingers in
/proc/net/tcp after the bootstrap download completes) plus reverse
DNS. When all four resolution paths fail (--server arg / env var,
/proc/net/tcp discovery, server-side rendered placeholder, existing
puppet.conf), this error fires. Most likely cause: reverse DNS for
the puppetserver IP returns nothing or returns a name that's not the
puppetserver's actual FQDN. Workaround:
curl -k --noproxy <fqdn> https://<fqdn>:8140/packages/install.bash \
| sudo bash -s -- --server <fqdn>The mirror exists but doesn't have packages for your agent's specific OS / architecture. Either:
- The first sync hasn't covered that platform yet (check Installer page -> Per-platform breakdown)
- Or the platform isn't in the mirror's allowlist (check the systemd
unit's environment overrides at
/etc/sysconfig/openvox-repo-syncor/etc/default/openvox-repo-sync)
Re-run the sync limited to your platform:
sudo /opt/openvox-gui/scripts/sync-openvox-repo.sh \
--platforms yum --el-releases 9 --arches x86_64A previous sync was killed without cleaning up its lock file:
sudo rm -f /opt/openvox-pkgs/.sync.lockWhen asking for help, gather this information:
# Create a diagnostic report
cd /opt/openvox-gui
mkdir -p /tmp/openvox-diag
# Version info
curl -k https://localhost:4567/health > /tmp/openvox-diag/version.txt
# Service status
sudo systemctl status openvox-gui > /tmp/openvox-diag/service.txt
# Recent logs
sudo journalctl -u openvox-gui -n 500 > /tmp/openvox-diag/logs.txt
# Configuration (remove passwords!)
grep -v PASSWORD /opt/openvox-gui/config/.env > /tmp/openvox-diag/config.txt
# System info
uname -a > /tmp/openvox-diag/system.txt
python3 --version >> /tmp/openvox-diag/system.txt
# Create archive
tar czf /tmp/openvox-diagnostic.tar.gz /tmp/openvox-diag/-
GitHub Issues: https://github.com/cvquesty/openvox-gui/issues
- Search existing issues first
- Include diagnostic information
- Describe what you tried
-
GitHub Discussions: For questions and community help
-
Documentation:
If everything is broken and you need to start fresh:
# 1. Backup your data
sudo cp -r /opt/openvox-gui/data /backup/
sudo cp -r /opt/openvox-gui/config /backup/
# 2. Uninstall
sudo ./install.sh --uninstall
# 3. Reinstall
sudo ./install.sh
# 4. Restore data
sudo cp /backup/config/.env /opt/openvox-gui/config/
sudo cp -r /backup/data/* /opt/openvox-gui/data/
sudo chown -R puppet:puppet /opt/openvox-gui
# 5. Restart
sudo systemctl restart openvox-guiCause: Browser has old version cached after an update
Fix: Hard refresh (Ctrl+F5 or Cmd+Shift+R)
Cause: Service isn't running or port is blocked
Fix: Start service and check firewall
Cause: SSL certificate problem with OpenVoxDB
Fix: Check certificate paths and permissions
Cause: File ownership or permission issues
Fix: sudo chown -R puppet:puppet /opt/openvox-gui
Cause: Multiple processes trying to access SQLite database
Fix: Restart service: sudo systemctl restart openvox-gui
Remember: Most problems have simple solutions. Start with the Quick Fixes, then work through the specific section for your issue. When in doubt, check the logs - they usually tell you exactly what's wrong!
Still stuck? Don't hesitate to ask for help on GitHub Issues!
This document was created with the assistance of AI (Grok, xAI). All technical content has been reviewed and verified by human contributors.