Skip to content

Building FOSSBilling

Build FOSSBilling from source when you want to contribute code, test changes locally, or package a customized version.

  1. Clone the repository

    Terminal window
    git clone https://github.com/FOSSBilling/FOSSBilling.git
    cd FOSSBilling
  2. Install PHP dependencies

    Terminal window
    composer install
  3. Install Node dependencies

    Terminal window
    npm install
  4. Build front-end assets

    FOSSBilling uses esbuild. Run the build:

    Terminal window
    npm run build

    This builds the shared frontend assets into src/public/assets and builds the bundled admin_default and huraga theme assets.

  5. Add translations (optional)

    Download the latest translations and extract to src/locale/, overwriting existing files.

After these steps, your checkout is ready for local development or for packaging into a deployment build.

FOSSBilling bundles its development and CI tooling as a single console package in tools/. The tools package requires PHP 8.5 — a tighter requirement than FOSSBilling itself. After installing dependencies, the commands are available via:

Terminal window
composer install --working-dir=tools
tools/bin/console list

This provides manifest:validate (validates bundled module manifests), i18n:* commands (translation extraction used by the locale repository's workflows), and demo:seed (populates an install with demo data).

For active theme development, use the theme workspace scripts:

Terminal window
npm run build-admin_default
npm run build-huraga

The Huraga theme also supports watch mode:

Terminal window
cd src/themes/huraga
npm run dev

You can use PHP's built-in server for quick testing:

Terminal window
cd src
php -S localhost:8000

Then visit http://localhost:8000 in your browser.