Akaunting has a self-hosted option, but it is so locked down that it’s not worth the effort and costs to self-host.

Usage:
install [options]
Options:
–db-host[=DB-HOST] Database host [default: “localhost”]
–db-port[=DB-PORT] Port of the database host [default: “3306”]
–db-name[=DB-NAME] Name of the database
–db-username[=DB-USERNAME] Username to use to access the database [default: “root”]
–db-password[=DB-PASSWORD] Password to use to access the database
–db-prefix[=DB-PREFIX] Table name prefix
–company-name[=COMPANY-NAME] Name of the company [default: “My Company”]
–company-email[=COMPANY-EMAIL] Email of the company [default: “my@company.com”]
–admin-email[=ADMIN-EMAIL] Admin user email
–admin-password[=ADMIN-PASSWORD] Admin user password
–locale[=LOCALE] Language used in the app [default: “en-GB”]
-h, –help Display help for the given command. When no command is given display help for the list command
-q, –quiet Do not output any message
-V, –version Display this application version
–ansi|–no-ansi Force (or disable –no-ansi) ANSI output
-n, –no-interaction Do not ask any interactive question
–env[=ENV] The environment the command should run under
-v|vv|vvv, –verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
php artisan install –db-name=”aka” –db-username=”aka” –db-password=”****” –admin-email=”admin@remote-tech.us” –admin-password=”***” –db-host=”192.168.X.X” –db-prefix=”aka_” –company-name=”REMOTE TECH US” –company-email=”support@remote-tech.us”
Setting locale en-GB
Creating database tables
Connecting to database aka@192.168.X.X:3306
Creating company
Creating admin
Applying the final touches