InvoiceShelf
invoiceshelf/invoiceshelf:latest
https://raw.githubusercontent.com/samuel3889/Unraid-Community-Applications/main/templates/invoiceshelfv2.xml
https://hub.docker.com/r/invoiceshelf/invoiceshelf
bridge
sh
false
https://github.com/InvoiceShelf/InvoiceShelf/issues
https://github.com/InvoiceShelf/InvoiceShelf
This is the template of InvoiceShelf that just works.
InvoiceShelf is a self-hosted, open source invoicing and estimates app built with Laravel and VueJS. This template runs the webapp only (pgsql variant) and expects an external PostgreSQL 16 server/container to already be running - it does NOT deploy its own database. Before starting this container, create a database and a dedicated user for InvoiceShelf on your existing Postgres instance, then fill in the DB_* variables below. Reference compose file: https://github.com/InvoiceShelf/docker/blob/master/docker-compose.pgsql.yml
Storage is handled with Docker-managed named volumes (invoiceshelf_storage, invoiceshelf_modules) so the container works immediately with zero manual setup - no directories to create, no permissions to fix. Docker auto-populates them with the correct files and ownership from the image on first start.
Note: this means logo uploads, custom PDF templates, and logs live inside Docker's own volume storage rather than a visible /mnt/user/appdata folder, so they are NOT included in typical Appdata Backup plugin runs. Your invoices, customers, and payments are unaffected either way since those live in your external Postgres database. If you want those files backed up too, see the "Backing up named volumes" note in Support/docs, or switch these to bind-mounted paths if you prefer visibility over zero-touch setup.
If running behind Nginx reverse proxy with a nonstandard port (eg. https://your-domain.com:50443), the custom configuration for location '/' must be:
proxy_set_header X-Forwarded-Host $host:50443;
proxy_set_header X-Forwarded-Port 50443;
false
Productivity:
http://[IP]:[PORT:8080]/
https://raw.githubusercontent.com/clairekardas/docker-icons/refs/heads/main/invoiceshelf.png
-v invoiceshelf_storage:/var/www/html/storage/ -v invoiceshelf_modules:/var/www/html/Modules/
2026-07-18
Requires an already-running external PostgreSQL 16 server with a database + user created for InvoiceShelf. This template does not create the database for you.
8090
InvoiceShelf
https://YOUR-DOMAIN.COM
SERVER-IP:8080,YOUR-DOMAIN.COM
*
5432
invoiceshelf
postgres
postgres
production
false
pgsql
file
file
240
true
false
false
1