Files
codeandClaude Fable 5 340866f9f4 complete all stack READMEs to the 9-section template
Existing content preserved and reordered to the canonical section order;
missing sections generated from each stack's compose data (ports, volumes,
env vars, image links). Fixes copy-paste errors in Dockhand sections
(qbittorrent pointed at archivebox; invokeai/thunderbird said SERVICENAME)
and persistant->persistent typos in gatus.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 06:25:05 +00:00

2.6 KiB
Raw Permalink Blame History

Invoice Ninja

Proxy port 80 to nginx.

You have to build this one

docker buildx build --no-cache -f Dockerfile -t invoiceninja .

This repo is just a slight modification of the source you should go there for support.

I'm not a big fan of all the licensing and paywall features.

Overview

Invoicing, payments, and client management for freelancers and small businesses.

Project Details

Getting Started

  1. Start the container: docker compose up -d
  2. Open http://localhost:8000 in your browser
  3. Follow the initial setup wizard to configure the application

Environment Variable Notes

DB_DATABASE  default: ninja
DB_USERNAME  default: ninja
DB_PASSWORD  default: ChangeThisPassword
DB_ROOT_PASSWORD  default: ChangeThisPassword
APP_URL  default: http://localhost:8000
APP_KEY  default: ChangeThisPassword
APP_ENV  default: production
APP_DEBUG  default: false
REQUIRE_HTTPS  default: false
PHANTOMJS_PDF_GENERATION  default: false
PDF_GENERATOR  default: snappdf
TRUSTED_PROXIES  default: *
CACHE_DRIVER  default: redis
QUEUE_CONNECTION  default: redis
(see sample.env for the full list)

Volume Notes

/var/lib/mysql  host path /data/invoiceninja/mysql
/var/www/html/public  host path /data/invoiceninja/public
/var/www/html/storage  host path /data/invoiceninja/storage
/etc/nginx/conf.d  host path /data/invoiceninja/nginx
/var/www/html/public  host path /data/invoiceninja/public
/var/www/html/storage  host path /data/invoiceninja/storage

Network Notes

Requires proxy network

Docker Run

docker run -d \
  --name invoiceninja \
  -p 8000:80 \
  -v /data/invoiceninja/mysql:/var/lib/mysql \
  -v /data/invoiceninja/public:/var/www/html/public \
  -v /data/invoiceninja/storage:/var/www/html/storage \
  -v /data/invoiceninja/nginx:/etc/nginx/conf.d:ro \
  -v /data/invoiceninja/public:/var/www/html/public:ro \
  nginx:alpine

See compose.yaml for the full set of environment variables.

Additional Notes / Gotchas

Nothing specific to this stack so far.

Dockhand Stack, Deploy from Git

Cookbooks Repository stackname: invoiceninja_dev Compose file path: invoiceninja_dev/compose.yaml Additional env file (optional): invoiceninja_dev/sample.env

Then "Load" invoiceninja_dev/sample.env into the Environmental variables in dockhand

Create the Stack