This guide installs Invoice Ninja on a self-hosted Linux server.
Install PHP, database, and web server packages with your distribution package manager to provide the runtime stack.
Clone the repository or download a release archive. Git is optional if you prefer a release archive.
git clone https://github.com/invoiceninja/invoiceninja.git
Copy the example environment file and update database credentials, application URL, and mail settings.
cp .env.example .env
Use Composer to install PHP dependencies.
composer install --no-dev --optimize-autoloader
Run migrations to create the database schema.
php artisan migrate --seed
Open the web interface and finish the initial configuration.
See Invoice Ninja Configuration for configuration guidance.
Prefer automation? See:
Prefer containers? See Invoice Ninja Docker Setup.
Stuck on a step or need custom configuration? We provide paid consulting for Invoice Ninja deployments, from basic setups to enterprise configurations.