Help with InvoiceNinja docker?


cyberspectre

Recommended Posts

I have resolved my password issues!  DO NOT put a URL in the Client Portal box.  It will SCREW you.  Also there is a separate hidden page for client logins at host.com/client/login so when testing their passwords you must go there.  I will be deleting all these posts and creating a sum up post with less chaotic instructions soon.

  • Like 1
  • Thanks 1
Link to comment
  • 2 weeks later...
On 3/8/2020 at 10:35 PM, DesktopMasters said:

I have resolved my password issues!  DO NOT put a URL in the Client Portal box.  It will SCREW you.  Also there is a separate hidden page for client logins at host.com/client/login so when testing their passwords you must go there.  I will be deleting all these posts and creating a sum up post with less chaotic instructions soon.

Wow. I'm not one to shy away from a challenge, but... that's a lot of effort to get one app running.

 

Though, couldn't an UnRaid-specific docker file be created using your findings? 

Link to comment

I am a frekin InvoiceNinja expert now.  I started a docker.  But I could not get it to work (yet).

I do not know much about creating docker images.  And I have a list of things to do. So I set it aside for the moment.

Realistically the existing one would work except that it is not setup to send EMails in background.  And that is a feature I want.  So I start my own up with better variable support.  If I know that there are people that would use it I might move it to a higher priority on my list to get back to.  I can easily see this eating a few days of my time.  🙂  InvoiceNinja is a work of art.  It is a great program.  There is just a lot of documentation MISSING or scattered all over the net (as written above).  Also, to complicate things more, they are working on a Version 2 and are focusing ALL their energy into that.  I have seen the demo.  It is very impressive.

Link to comment
4 hours ago, DesktopMasters said:

I am a frekin InvoiceNinja expert now.  I started a docker.  But I could not get it to work (yet).

I do not know much about creating docker images.  And I have a list of things to do. So I set it aside for the moment.

Realistically the existing one would work except that it is not setup to send EMails in background.  And that is a feature I want.  So I start my own up with better variable support.  If I know that there are people that would use it I might move it to a higher priority on my list to get back to.  I can easily see this eating a few days of my time.  🙂  InvoiceNinja is a work of art.  It is a great program.  There is just a lot of documentation MISSING or scattered all over the net (as written above).  Also, to complicate things more, they are working on a Version 2 and are focusing ALL their energy into that.  I have seen the demo.  It is very impressive.

Oh, the emails aren't even a feature I use. I manually send invoices to my clients. But as I start to take on more, I can see how that would come in handy. 

 

You can count me as one person who would get use from a working docker image. Like I said, I'm paying InvoiceNinja $50 a year to use their online service. I'd love to host it on my own server instead and cross off that expense.

Link to comment
33 minutes ago, cyberspectre said:

Oh, the emails aren't even a feature I use. I manually send invoices to my clients. But as I start to take on more, I can see how that would come in handy. 

 

You can count me as one person who would get use from a working docker image. Like I said, I'm paying InvoiceNinja $50 a year to use their online service. I'd love to host it on my own server instead and cross off that expense.

How are you paying $50 a year? I see $100 if paid annually.

Link to comment
On 3/21/2020 at 8:48 PM, DesktopMasters said:

I am a frekin InvoiceNinja expert now.  I started a docker.  But I could not get it to work (yet).

I do not know much about creating docker images.  And I have a list of things to do. So I set it aside for the moment.

Realistically the existing one would work except that it is not setup to send EMails in background.  And that is a feature I want.  So I start my own up with better variable support.  If I know that there are people that would use it I might move it to a higher priority on my list to get back to.  I can easily see this eating a few days of my time.  🙂  InvoiceNinja is a work of art.  It is a great program.  There is just a lot of documentation MISSING or scattered all over the net (as written above).  Also, to complicate things more, they are working on a Version 2 and are focusing ALL their energy into that.  I have seen the demo.  It is very impressive.

Thank you for all your effort so far!! I would be very keen on using it!

Link to comment
  • 1 month later...
  • 1 month later...

I did, but I switched back to using a VM because I wanted to hack some of the source files and it was easier to just do that rather then setup a whole new docker image.

 

I have a channel on IRC in FreeNode #DesktopMasters feel free to drop in if you want to pick my brain.

Edited by DesktopMasters
Link to comment
Just now, DesktopMasters said:

I did, but I switched back to using a VM because I wanted to hack some of the source files and it was easier to just do that rather then setup a whole new docker image.

 

What did you end up editting in the source & why if I may ask? Should I use an Ubuntu VM for this if it applies to me?

 

Is there anyway to get this going for people who want to use the software without modifying source?

 

 

Link to comment

I can give you the exact changes I made if you like.  I changed the source so that I could have my own title bar color and logo in the admin portal.

 

I changed the source so that the default login redirect when you go to the root url is the "Client" login and not the "Account" login.

 

Yes there is.

 

InvoiceNinjaSample1.png

Edited by DesktopMasters
Link to comment
  • 3 weeks later...

I just started playing around with this a little bit and I basically got stuck with not being able to load the page, like everyone else..   tried some of DesktopMaster's stuff and didn't really get any further.

 

So instead of using the docker from community applications, I tried the official invoiceninja docker instead (invoiceninja/invoiceninja) and that didn't really get me anywhere either.

 

Then I found another docker image after a youtube video ... and it works more than any others so far. https://dbtechreviews.com/2020/07/invoice-ninja-installed-in-docker/

 

https://hub.docker.com/r/cdnhammernet/invoiceninja

 

I just added a new container using cdnhammernet/invoiceninja and put in the basic variables to get it working.. and it works.

 

Not sure what's different about this one compared to the others but it's a starting point.

Link to comment
I just started playing around with this a little bit and I basically got stuck with not being able to load the page, like everyone else..   tried some of DesktopMaster's stuff and didn't really get any further.
 
So instead of using the docker from community applications, I tried the official invoiceninja docker instead (invoiceninja/invoiceninja) and that didn't really get me anywhere either.
 
Then I found another docker image after a youtube video ... and it works more than any others so far. https://dbtechreviews.com/2020/07/invoice-ninja-installed-in-docker/
 
https://hub.docker.com/r/cdnhammernet/invoiceninja
 
I just added a new container using cdnhammernet/invoiceninja and put in the basic variables to get it working.. and it works.
 
Not sure what's different about this one compared to the others but it's a starting point.
Nice. What is not working on it?
Link to comment
57 minutes ago, Iceman24 said:

Nice. What is not working on it?

Not really sure to be honest.  Since I've never used it I don't know if it's not working as expected.  I have not tested any of the email stuff but when I log in to the site there's an error message at the top:

 

Error: APP_KEY is set to a default value, to update it backup your database and then run php artisan ninja:update-key

 

Now I did create an app key and pass it as an argument for the container, so not sure about that one.. but then on the console running that php command gives this error

 

/ # php artisan ninja:update-key
Could not open input file: artisan

 

errrrrrrrrrr, ok, hold on a sec.  When I ran that command on one of the other dockers it worked right away, and this custom container it did not, but I just realized that when it's talking about 'artisan' it wants that file and I found it in /app so running that command in that directory works... there's no prompt about wanting to update the key so I just had to type 'yes' to get it to continue, refreshed the website and the error message was gone.

 

So as far as anything else, that was the only problem I saw...... now that's resolved.

 

Well then... :)
 

Wonder how to remove the free version "created by" watermark...... hmm....

  • Like 1
Link to comment
  • 4 months later...
  • 2 weeks later...
  • 4 weeks later...

I'm kind of late to the party, but to me it seems the main issue is the lack of ssl certificate on port 443 and it seems lately invoiceninja enforces https.

I got it working by generating a self signed certificate.

I didn't have time to create another Unraid app, but until then if anyone wants to try it out:

Hit Edit on the container and change Repository field to this: maihai/invoiceninja and then hit Apply.

EDIT: The way this works is that it generates a SSL certificate on the first container run which is self signed. Of course don't forget to import this certificate in your browser otherwise you will be at risk of MITM.

 

image.thumb.png.a489af023b121b183a9c0ec85cc8e345.png

 

 

If you're paranoid like me, you can find the code here: https://github.com/mihai-cindea/invoiceninja

Feel free to tell me if you have any issues or requests. I also want to add the possibility of feeding custom certificates and generate the certificate CN based on the APP_URL. Currently this is a PoC.

Edited by Mihai
  • Thanks 1
Link to comment
  • 2 weeks later...
On 1/4/2021 at 1:17 PM, Mihai said:

I'm kind of late to the party, but to me it seems the main issue is the lack of ssl certificate on port 443 and it seems lately invoiceninja enforces https.

I got it working by generating a self signed certificate.

I didn't have time to create another Unraid app, but until then if anyone wants to try it out:

Hit Edit on the container and change Repository field to this: maihai/invoiceninja and then hit Apply.

EDIT: The way this works is that it generates a SSL certificate on the first container run which is self signed. Of course don't forget to import this certificate in your browser otherwise you will be at risk of MITM.

 

image.thumb.png.a489af023b121b183a9c0ec85cc8e345.png

 

 

If you're paranoid like me, you can find the code here: https://github.com/mihai-cindea/invoiceninja

Feel free to tell me if you have any issues or requests. I also want to add the possibility of feeding custom certificates and generate the certificate CN based on the APP_URL. Currently this is a PoC.

Unfortunately, this doesn't work for me.

 

In case anyone's interested, I found a different free invoice software that can be used in a Docker container. It's called Crater. There isn't a pre-made image for it on DockerHub, though, so, despite messing with it for an hour or two, I have no idea how to install it...

 

They provide instructions but I'm nervous about following them instead of using the UnRaid UI.

Edited by cyberspectre
  • Like 1
Link to comment
9 hours ago, cyberspectre said:

Unfortunately, this doesn't work for me.

 

In case anyone's interested, I found a different free invoice software that can be used in a Docker container. It's called Crater. There isn't a pre-made image for it on DockerHub, though, so, despite messing with it for an hour or two, I have no idea how to install it...

 

They provide instructions but I'm nervous about following them instead of using the UnRaid UI.

 

@cyberspectrecan you tell me exactly what behavior you get? or any errors? Otherwise it will be hard for me to fix it.

Note: you will have to connect via https and port 8443 port for this to work.

Edited by Mihai
Link to comment
  • 2 weeks later...

Ok guys I have a bit of help with those getting stuck at the webpage telling you
Error: app is already configured, backup then delete the .env file to re-run the setup

once you got the container installed and logs do not throw errors (sql setup properly etc...) 

go into the container console and navigate to the folder with the .env file by entering:
 

cd /var/www/app

 

Make sure the file is there my entering
 

ls -a

 

if you see .env, you can rename it by entering
 

mv .env .env.backup


now i suggest listing the directory contents again with ls -a to make sure there is no .env file

I reloaded the page and It looked right!

other notes:
I only got mysql working by adding the defualt user name and database name for some reason. I was trying invoiceninja but it kept throwing errors in the logs

I did use the php artisan trick desktop masters posted before hand

I'm also using the Maihai container and I believe i owe them a beer ;) thanks for the container. 

Drop a thanks if this got you further

finally I can stop paying for freshbooks :) 

Link to comment
  • 1 month later...

hey guys, so just an update on this one: I raised a PR for the original anojht/invoiceninja image, so now it should work on the SSL port, it generates SSL certificates automatically.

Feel free to let me know if there are any issues :)

@coolbeams if you want, you can switch back to the original image, should also work. Cheers!

Link to comment

man I'm having so much trouble with this container 

 

.env trick then get chown  error for it in the setup page, so chow whole app directory as the ,env does not exist anymore. Wooo hoo one sep further.

then straight up after submit on setup page straight up 500 error. and so many errors in the logs 

 

 child 37 said into stderr: "src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure)) #36

 

etc etc. 

would be so good if this worked properly. Not sure why this container self generates ssl cert through lets encrypt but most people running the container will be using reverse proxies anyway.

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.