Docs
GuidesSetup

hwdpanel server panel

Operate the HWD POS server from a text menu, without using the web interface.

The installer creates the hwdpanel command on the server (/usr/local/bin/hwdpanel). It is a local text menu for day-to-day server operation: restarting services, resetting passwords, viewing credentials, diagnostics and more, all without opening the web interface.

Opening the panel

sudo hwdpanel

The top of the screen shows the project folder, the PHP version and the status of the services. Type an option number and press Enter.

If hwdpanel does not exist (for example after a partial installation), check.sh can reinstall it from its Admin panel option.

GroupOptionWhat it does
Website1 / 2 / 3Restart, start or stop the web server and PHP-FPM.
Printing4 / 5 / 6Restart, start or stop the print worker (hwpos-print).
Administration7Reset the password of any user or administrator (lists users and their roles).
8Show the database credentials (read from the application's actual configuration).
9Show the environment.
10Run the check.sh diagnostics.
11Show the server IP and the access URL.
12Update the panel itself from the network.
AI13Install or update the AI environment (optional, see below).
Search14Install or update the search service (Typesense, with auto-start).
15Manage search API keys (list, create, delete).
Services16Install or reinstall the background services (printing + plugins).
17Restart everything (site + PHP + workers).
18View the background-service logs.
Capacity19Database connections and PHP request capacity.
Repair20Apache: fix the header used by the delivery app (when it says "No connection" / Sin conexión).
0Exit.

Connection capacity (option 19)

The installer sizes the number of PHP processes from the server's memory (about 60 MB per process, between 10 and 80) and always keeps it below the database connection limit. Option 19 shows the current values and lets you apply the recommended values, enter them by hand, or reset the peak counter to start measuring from today. The same information is available inside HWD POS under System → Connection capacity (Sistema → Capacidad de conexiones).

After an update

If an update changes the background services, restart them once with option 17.

AI environment (option 13)

Creates a Python virtual environment with CatBoost, registers the interpreter in the application and installs and starts the retraining service (hwpos-ai.service, which starts automatically after a reboot). Then enable it in HWD POS at /admin/ai. It is optional and not installed by default because the AI packages are large.

Search service (options 14 and 15)

See Typesense search.

Resetting a password

From the panel, choose option 7, select the user and type the new password.

You can also use the admin tool directly:

php /var/www/HWDPOS/scripts/hwd-admin.php list-users
php /var/www/HWDPOS/scripts/hwd-admin.php reset-password admin
php /var/www/HWDPOS/scripts/hwd-admin.php reset-password admin YOUR_NEW_PASSWORD

The second command asks for the new password interactively. The third sets the given password directly.

Passing a password on the command line leaves it in the shell history. Prefer the interactive form.

Other admin commands

scripts/hwd-admin.php boots the application and uses its own database connection, so it always reads the current configuration:

php /var/www/HWDPOS/scripts/hwd-admin.php db-info     # database connection details
php /var/www/HWDPOS/scripts/hwd-admin.php env         # environment
php /var/www/HWDPOS/scripts/hwd-admin.php list-users  # users and roles

Updating the panel

The panel can download its latest version and replace the local copy. Before replacing it, it:

  • creates a backup copy with the .bak extension;
  • checks the syntax of the new file;
  • replaces the local version only if the check passes.

To update, choose option 12 in the panel, or run:

sudo bash /var/www/HWDPOS/deploy/check.sh --update-panel

In the check.sh menu you can also use option U.

On this page