Motherboard is a work order and customer management app for computer repair shops. It is a fork of LibreWO with a module system and localization.
- Work order tracking, from intake through assignment, status changes, and completion
- Customer management
- User accounts with role-based permissions (Admin / standard / Limited)
- Activity logs for auditing changes across the app
- Optional modules (e.g. inventory) that can be dropped in and enabled per install
- Multi-language support via self-contained language files
- Keyboard-driven navigation with a command palette (
Alt + /)
- PHP 8.4+
- Apache (or compatible) with
mod_rewrite - MySQL 8 / MariaDB
- PDO MySQL and OpenSSL
The bundled .htaccess files are what keep the application source, the database schema, and
the uploaded attachments from being served directly. nginx ignores them, so add the
equivalent rules to your server block:
# Never serve application source or the schema.
location ~ ^/(core|models|controllers|views|database|vendors|lang|modules)/ {
deny all;
}
# Attachments are served by the app, never directly, and never executed.
location ^~ /attachments/ {
deny all;
}
location = /config.php {
deny all;
}
autoindex off;- Copy
public_htmlto your web root. - Copy
config.sample.phptoconfig.phpand set database,BASE_URL, and SMTP values. - Confirm
lang/en-us.phpexists (required to install and run). - Open the site. The installer runs if the database has no tables.
- After install, choose language under Settings → Language.
From motherboard-app:
docker compose up --build- App: http://localhost:8080
- Mailhog UI: http://localhost:8025
- MySQL: localhost:3306 (
motherboard/motherboard)
Drop each module in public_html/modules/<slug>/ with an index.php. See documentation/module-development.md.
Self-contained PHP arrays in public_html/lang/:
en-us.php(required)es-mx.phpcs-cz.phpde-de.phpfr-fr.phppup.php(fictional)
Add more files using the same keys as en-us.php.