Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Invoice Ninja v5

Featured Replies

Overview: Support for Docker image: Invoice Ninja v5

 

Docker Hub: https://hub.docker.com/r/maihai/invoiceninja_v5

 

Github/Docs: https://github.com/kiwimato/invoiceninja-v5-unraid

Please open any issues here, since it might be easier to follow/post logs: https://github.com/kiwimato/invoiceninja-v5-unraid/issues

 

Note: Please read the docs especially the SSL part before installing because I noticed it simply doesn't play well without proper certificates.

 

As always, feel free to ask questions or raise PRs if you feel like contributing.

 

Thanks a lot guys, I hope this is useful!

Edited by Mihai

  • 2 weeks later...
  • Replies 73
  • Views 19.4k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • @FreakLikeMe you're providing the MySQL port as part of the HOST variable: 192.168.86.201:3307. It should only be 192.168.86.201 and specify the port in a different var.   I now see that the

  • FreakLikeMe
    FreakLikeMe

    that did the trick. Thank you!

  • I don't think the VLANs are the problem. What MariaDB image are you using? To me it sounds like it's expecting a different auth mechanism.   Just googled and it seems to be a user setting is

Posted Images

Getting the following error when trying to set up. What am i doing wrong?

 

2022-06-08T18:24:20Z [INFO] [Entrypoint]: Initialising Invoice Ninja...
Configuration cache cleared!
Configuration cached successfully!
Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!
Migration table created successfully.
Loading stored database schema: /var/www/app/database/schema/mysql-schema.dump

In Process.php line 272:
                                                                               
  The command "mysql  --user="${:LARAVEL_LOAD_USER}" --password="${:LARAVEL_L  
  OAD_PASSWORD}" --host="${:LARAVEL_LOAD_HOST}" --port="${:LARAVEL_LOAD_PORT}  
  " --database="${:LARAVEL_LOAD_DATABASE}" < "${:LARAVEL_LOAD_PATH}"" failed.  
                                                                               
  Exit Code: 1(General error)                                                  
                                                                               
  Working directory: /var/www/app                                              
                                                                               
  Output:                                                                      
  ================                                                             
                                                                               
                                                                               
  Error Output:                                                                
  ================                                                             
  ERROR 2005 (HY000): Unknown MySQL server host '192.168.86.201:3307' (-2)  

 

  • Author

@FreakLikeMe you're providing the MySQL port as part of the HOST variable: 192.168.86.201:3307. It should only be 192.168.86.201 and specify the port in a different var.

 

I now see that the var doesn't exist in the Unraid Template, I will fix that. Until then, you can add it by clicking `Add another Path, Port, Variable, Label or Device`, select Variable and put  `DB_PORT` in Name & Key and put 3307 in value.

that did the trick. Thank you!

  • 2 weeks later...

Im now having an issues, are you having the smae and if not can you help me?

 

  1. container crashes every 2ish days
  2. pdfs dont work proporly
  3. email doesnt send
  4. logo for company doesnt load

Thanks

  • Author

Just before anything, did you install proper SSL certificates? Or do you get a SSL warning when you access InvoiceNinja?

 

1. Can you provide container logs via DM?

2. What are the steps to reproduce it? They work fine on my side.

3. I didn't set up e-mail, but laravel.logs(you can find it in storage mountpoint) and container logs after you try to send an e-mail would he useful.

4. I don't use a logo either, but i can try this only on Wednesday since I'm on the road right now

mailing and logo is not working on this container

Edited by Danuel

view pdf, print pdf, download pdf not working

  • Author

@Danuel  first of all, did you properly install SSL certificates? PDF would not work without. Mailing I did not test, but I know logo is not working, I'm working on a fix.
For the others, please DM me container logs and laravel.log logs(from storage) mount point.

13 hours ago, Mihai said:

@Danuel  first of all, did you properly install SSL certificates? PDF would not work without. Mailing I did not test, but I know logo is not working, I'm working on a fix.
For the others, please DM me container logs and laravel.log logs(from storage) mount point.

 do i need other certificate other then the ones that they are already in the storage/certs ?

  • Author

I personally use swag container which gets LeysEncrypt certificates and overwrites the ones in storage/certs, but if you use the ones self-generated you will have to import them in your browser, so the browser sees the connection as secure and you don't get the SSL error when you open the website. It is mentioned already here, please let me know if it's not clear enough: https://github.com/kiwimato/invoiceninja-v5-unraid#ssl-certificates

  • 4 weeks later...

Hey @Mihai I'm looking to install this docker but have a couple question before I give it a try.  I'm currently using MariaDB and Swag for my nextcloud docker. For those, I needed to follow some steps and videos to get them going. Since there isn't much info to follow for invoice ninja, I'm not sure If I fully understand what I'll need to do to get it to work properly.

  • Is there any listed steps that I can follow so that I can make sure I'm setting it up in the right way?
  • Do I need to create a database before installing the docker?
  • Is it required to use swag with this docker or can I use only locally?

 Thanks

  • Author

@TekDRu I just wrote some installation information here: https://github.com/kiwimato/invoiceninja-v5-unraid/blob/main/Readme.md#installation

Please let me know if this is enough or not clear enough.

 

* Do I need to create a database before installing the docker?

Yes, I mentioned it in the docs too

 

* Is it required to use swag with this docker or can I use only locally?

You don't explicitly need to forward things through swag, I don't personally. I just copy over the certificates from swag to invoice ninja, and I just access it directly, not through swag.

Thanks for the quick response @Mihai. It must be because of my little experience with working with dockers. It's not that clear for exact steps to follow but seems like I'll just have to give it try and see what happen and come back if I run into any issues.

 

For now, these are the things that are not clear to me:

  • What folder from SWAG am I copying the certificates from?
  • The App URL, does that have to be a real working URL (since I want to access locally and not remotely)?
  • In the section about SSL, "import the certificate in your browser as a CA", How exactly do I do this?

The portion under SSL is not that clear to me: 

  • Is the portion from your instructions under SSL required if I'm accessing locally only?
  • What directory will I find the fullchain.pem file?
  • "Personally, I use SWAG, and I just copy over the certifcates daily by using User Scripts UnRAID plugin:"  Do I need to copy the certs daily as well and if so, why? At first, I wasn't sure how this would be scheduled, but after looking at the user scripts plugin , I saw the "Add new script" and the schedule options. So I get that part.
  • If I run into the memory limit issue, where exactly do I add in the Memery limit variable? is there a field already for this in the container settings? 

These questions are coming up because I haven't installed the docker container yet to see the options, but I just wanted to get a cleared understanding before I give it a try. And also if there any other items I need to setup before I begin.

 

Thanks again, I appreciate it.

  • Author

@TekDRu

Quote

What folder from SWAG am I copying the certificates from?

In my case, it's: `/mnt/user/docker/appdata/swag/etc/letsencrypt/live/domain.com`, yours might be similar.

Quote

The App URL, does that have to be a real working URL (since I want to access locally and not remotely)?

Yes, unfortunately I did not manage to make it work any other way. It could work on IP, but I did not try it out.

You could get a wildcard certificate for example *.domain.com and then create invoiceninja.domain.com subdomain which points to your internal IP. Personally I use PiHole as DNS and simply override my domain to internal whenever I'm connected to the VPN, but I realize this might be a complicated setup.

Quote

In the section about SSL, "import the certificate in your browser as a CA", How exactly do I do this?

https://www.techrepublic.com/article/how-to-add-a-trusted-certificate-authority-certificate-to-chrome-and-firefox/

Quote

Is the portion from your instructions under SSL required if I'm accessing locally only?

Yes, as I mentioned in the Readme, I did not manage to make it work without SSL enabled. You will have all sorts of issues. If you find out how, please teach me.

Quote

What directory will I find the fullchain.pem file?

See first question answer, also the scrip at the end of this section gives an example where I find it in SWAG: https://github.com/kiwimato/invoiceninja-v5-unraid#ssl

Quote

Do I need to copy the certs daily as well and if so, why? At first, I wasn't sure how this would be scheduled, but after looking at the user scripts plugin , I saw the "Add new script" and the schedule options. So I get that part.

Depends, I think LetsEncrypt has 6 months max age of certs, so you could copy them weekly or even monthly. But i know other tools like Cloudflare give certificates which have 30 years of validity, so I guess you can only copy those once.

Quote

If I run into the memory limit issue, where exactly do I add in the Memery limit variable? is there a field already for this in the container settings? 

Good point, I just added MEMORY_LIMIT variable to the unraid template, maybe if you didn't already install it you might be able to see it there. If you don't, you can add it manually:

Right click, Edit container -> scroll to bottom -> Add another Path, Port, Variable, Label or Device -> Config Type -> Variable -> set Name and Key to MEMORY_LIMIT and value to 512M.

 

Let me know how it goes, also maybe it makes sense to move this discussion private just to avoid spamming people around here.

Of course if there are general issues we should still post here for visibility.

 

Cheers!

Thanks @Mihai !  I really appreciate it.  I'll give it a try when I get a chance in the next few days.  I'll respond privately if I run into any issues.

Also trying to get this up and running, however not having much luck:

 

2022-07-26T13:07:14Z [INFO] [Entrypoint]: Initialising Invoice Ninja...

   INFO  Configuration cached successfully.  


   INFO  Caching the framework bootstrap files.  

  config ........................................................ 30.85ms DONE
  routes ....................................................... 126.88ms DONE


   INFO  Preparing database.  

  Creating migration table ..................................... 126.88ms DONE

   INFO  Loading stored database schemas.  

  database/schema/mysql-schema.dump ............................ 244.94ms FAIL

In Process.php line 267:
                                                                               
  The command "mysql  --user="${:LARAVEL_LOAD_USER}" --password="${:LARAVEL_L  
  OAD_PASSWORD}" --host="${:LARAVEL_LOAD_HOST}" --port="${:LARAVEL_LOAD_PORT}  
  " --database="${:LARAVEL_LOAD_DATABASE}" < "${:LARAVEL_LOAD_PATH}"" failed.  
                                                                               
  Exit Code: 1(General error)                                                  
                                                                               
  Working directory: /var/www/app                                              
                                                                               
  Output:                                                                      
  ================                                                             
                                                                               
                                                                               
  Error Output:                                                                
  ================                                                             
  ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded: Error  
   loading shared library /usr/lib/mariadb/plugin/caching_sha2_password.so: N  
  o such file or directory                                                     
                                                                          

 

 

Recreated the MySQL DB and InvooiceNinja container a few times, but still running into this.
One thing that I am running slightly different is Custom VLAN - So each of my containers run on its OWN IP Address...

Maybe the VLAN is the issue here?

 

 

laravel.log:
 

[2022-07-26 13:07:22] production.INFO: account table not found  

 

  • Author

I don't think the VLANs are the problem. What MariaDB image are you using? To me it sounds like it's expecting a different auth mechanism.

 

Just googled and it seems to be a user setting issue: https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded

 

How did you create the user? If it's the default nowadays I can try to add that to the invoiceninja image, but in a few days because I'm on the road at the moment

15 minutes ago, Mihai said:

I don't think the VLANs are the problem. What MariaDB image are you using? To me it sounds like it's expecting a different auth mechanism.

 

Just googled and it seems to be a user setting issue: https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded

 

How did you create the user? If it's the default nowadays I can try to add that to the invoiceninja image, but in a few days because I'm on the road at the moment

Created a new MariaDB and it seems to be working now thank you.


I was using a MySQL DB, Official release as that is what the template states:
 

Quote

This container requires a separate MySQL running container and the credentials passed via DB_* variables below.

 

So maybe something wrong with connecting to MySQL?

  • Author

Yeah i think the invoiceninja image just doesn't have that specific package for this encryption needed by mysql, should be an easy fix.

  • 3 weeks later...

After last few updates invoice ninja is not working properly, i noticed that you cant download invoices anymore and logo is not working anymore, just happen to use the app today and i noticed this

  • 2 weeks later...

I finally got invoiceninja-v5 to work with domain name via swag.  Now PDFs are finally working. It's working with desktop app as well.  The only part that I'm not sure yet if it's working or not is the email, but I don't need to email so it's not a problem for me.  See nginx config I used below.  Also attached is the screenshot of container settings.

 

I'm not sure about the MAIL_MAILER variable, so that could be my email issue.  I did change the default "Storage" label to "App Storage" and changed the default "Logo" label to "Public Storage" and used a path to a share instead of the path inside of appdata because I realized that this is the path that files, backups and pdfs are being saved/stored.

 

Hope this helps anyone who may still be having issues with invoice ninja.

 

 

server {
	listen 443 ssl;
	listen [::]:443 ssl;
	
	server_name ininja.*;

	include /config/nginx/ssl.conf;

	location / {
	    include /config/nginx/proxy.conf;
	    include /config/nginx/resolver.conf;
	    set $upstream_app invoiceninja-v5;
	    set $upstream_port 443;
	    set $upstream_proto https;
	    proxy_pass $upstream_proto://$upstream_app:$upstream_port;
	    proxy_max_temp_file_size 2048m;
	}
}

 

invoice-ninja.png

Hey,

I havent copied any certificates. I did succesfully reverse proxy my instance though.

 

But I can't login on my app with my reverse proxied URL. It says Error: Please check that invoice Ninja v5 is installed on the server.

Edited by Kees Fluitman

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.