I am tired of InvoiceNinja's limitations - no true multi-domain support for multiple companies (10) that it allows.
I had always want to try out building a cloudron package, so I will try to build one for InvoiceShelf.
Looks very doable. The structure is:
4 files: CloudronManifest.json, Dockerfile, start.sh, logo.png
Base image (cloudron/base:5.0.0) already has PHP 8.4, Node 22, Composer, Apache, Supervisor — no installing dependencies
Cloudron provides MySQL, Redis, email, cron, TLS, backups as addons - just need to declare them in the manifest
Reference package: Akaunting on git.cloudron.io is an identical pattern (Laravel invoicing app)
Dev workflow: cloudron install → cloudron logs -f → cloudron update