Git (advanced)
Installing from Git is intended for contributors and developers who want to hack on the SolidInvoice source. It is not recommended for production use โ for that, use the quick install, Homebrew, or Docker.
System requirementsโ
- PHP 8.4 or higher with the
curl,gd,intl,json,openssl,pdo,soap, andxslextensions. - Composer.
- Bun.
- Symfony CLI โ recommended for the local web server (see below). Optional if you bring your own webserver.
- A supported database (MySQL, MariaDB, PostgreSQL, or SQLite).
Clone and installโ
git clone https://github.com/SolidInvoice/SolidInvoice.git
cd SolidInvoice
composer install
bun install
bun run build
Run the local web serverโ
The recommended way to run SolidInvoice for development is the Symfony CLI โ it ships a local web server with HTTPS, Docker integration, and a workers manager.
symfony serve
This reads the project's .symfony.local.yaml and:
- Starts an HTTPS web server on port
7005(configurable in.symfony.local.yaml). - Starts the async messenger consumer as a managed worker, so scheduled tasks and async messages (emails) are processed without you having to run
messenger:consumeseparately.
The committed .symfony.local.yaml already contains both the HTTP and worker configuration:
http:
document_root: public/
passthru: index.php
port: 7005
preferred_port: 7005
allow_http: true
daemon: true
workers:
messenger_consume:
cmd: ['symfony', 'console', 'messenger:consume', 'async', '--time-limit=3600', '--memory-limit=128M']
watch: ['config', 'src']
The watch paths restart the worker whenever you change application code, so it picks up your edits automatically.
To follow the worker logs alongside the web server logs:
symfony server:log
Bring-your-own webserverโ
If you'd rather use Nginx or Apache directly, point the document root at public/ (see the distribution package guide for example configs) and set up the background worker the same way.
Finish setupโ
Open the URL Symfony CLI prints (typically https://127.0.0.1:7005) and finish setup with the first-run wizard.
For development workflow, code conventions, and how to run the test suite, read CONTRIBUTING.md in the repository.
If you encounter issues, please open a bug report.