Saltar al contenido principal
Commerce

Self-host Invoice Ninja on a VPS

Invoicing, billing and expense tracking.

Create invoices, track expenses and accept payments from a self-hosted app.

Why self-host Invoice Ninja?

Invoice Ninja keeps your billing data and client list on your own server, with no per-client fees.

How to install Invoice Ninja

  1. 1

    Provision a VPS

    Choose a plan with room for your data as well as the app.

  2. 2

    Install the stack

    Install PHP/Laravel + MySQL.

  3. 3

    Deploy the application

    Follow the project’s official install guide for your distribution.

  4. 4

    Enable HTTPS

    Serve it on your own domain behind a reverse proxy with a certificate.

  5. 5

    Back it up

    Schedule a database dump plus a copy of any uploaded files to an off-box location.

Practical tips

  • Give Invoice Ninja its own database user with rights only on its own schema.
  • Reverse-proxy Invoice Ninja and terminate TLS at the proxy so certificates are managed in one place.
  • Take a VPS snapshot before major upgrades so you can roll back cleanly.
  • Keep Invoice Ninja patched — most self-hosting incidents are unpatched software.

Frequently asked questions

How much RAM does Invoice Ninja need?
Plan on 1–2 GB for typical use; add headroom if you expect many concurrent users.
What stack does Invoice Ninja run on?
PHP/Laravel + MySQL.
Can I run other things on the same VPS?
Yes — size the plan so Invoice Ninja plus your other workloads fit in RAM with room to spare.

Looking for something else? Popular alternatives include InvoicePlane, Crater, FreshBooks (hosted) — browse all app guides.