shootify's picture

Hello guys, when are you going to upload or have available ninja invoice V5... looking forward. thanks

Forum: 
Jeremy Davis's picture

Hi there. Firstly, a warm welcome to TurnKey! :)

Next up, yes we do plan to. Ideally it will be sooner rather than later, but there is currently blocker.

For v4.x, we provided a local install of PhantomJS to do the PDF generation. However, PhantomJS is abandonware and isn't being maintained. As such, the InvoiceNinja devs don't provide support for locally installed PhantomJS in v5.x. That's probably wise. So the options for processing PDFs are the online PhantomJS service (which is free, but requires that your Invoice Ninja server is public facing; and you need to trust the service to process your PDFs) or a local Chrome install. (Whilst the docs say "Chrome", it's open source cousin; Chromium should work fine, and that's what we'd use - so from here on in when I say "Chrome", please read "Chromium").

For us, the requirement of a 3rd party service is unacceptable. If you are happy to use the 3rd party service, then that's fine. But we don't want to make that decision for you... So that leaves using Chrome. The problem there is that whilst the actual functionality is headless (i.e. you can use Chrome via the commandline to generate the PDFs) there isn't a minimalist headless Chrome install. Installing Chrome on TurnKey makes the image ~500MB bigger! So that's unacceptable too!

I have some ideas of how we might move forward, but I we're currently in the process of rebuilding/refreshing the library. So I don't currently have the time or energy to test them out and play around...

shootify's picture

thank you very much for letting me know. hopefully you can get it working since they already released it. 

Jeremy Davis's picture

Thanks for posting Peter. That's useful info.

Is there anything special required to install/include that? Or is it a default component if you do a manual install? I had a quick look at the install docs and couldn't find anything specific?! Although I did find a note recommending use of the built in snappdf package - so I guess it's included?!

Regardless, I do hope to create a new Invoice Ninja5 appliance in the not too distant future. However, Debian 11/Bullseye is very close to release, so it won't happen until after that...

Jeremy Davis's picture

Thanks for sharing Peter! :)

Jeremy Davis's picture

We're currently still busy working on v17.0. Once we have Core and TKLDev released as stable v17.0, then LAMP should be fairly close behind. Once that's done, then work can start on Invoice Ninja v5.

And unfortunately, it seems that you can't just upgrade. You need to migrate. I was going to suggest that you try installing v5 alongside and do the migration. However, it looks like Invoice Ninja v5 requires PHP 7.4. You'll need (the as yet unreleased) TurnKey v17.x to get that by default (although you could install PHP from third party).

Having said that, I note that they published "Minor fixes" for v4; v4.5.48 - 5 days ago. So whilst it may not be getting new features, it does appear that they are still providing some degree of maintenance.

Regardless, hopefully we can push it out in the coming months...

Jeremy Davis's picture

I'm not sure, but my guess is that you need to manually download the update and copy it over the existing files. Don't do that without a backup though; just in case... Actually, yep looks like I'm right.

Bugger about the app though. Until you have v5 you may need to just use the web UI. I'm sure that sucks, but unfortunately I can't go any faster than I already am...


Some quick pointers:

By default the user is "root", but the webserver user needs ownership of the /var/www/invoiceninja files. Do that like this:

chown -R www-data:www-data /var/www/invoiceninja

The docs not using composer and artisan, again, these need to be run as the www-data user. You can do that with the included 'runuser' command (or 'su') or you can install 'sudo' and use that instead.

runser (or su - the format is exactly the same):

runuser - www-data -s /bin/bash
COMMAND
ANOTHER_COMMAND
exit

Or sudo:

apt update && apt install sudo -y
sudo -u www-data COMMAND
sudo -u www-data ANOTHER_COMMAND
George3430's picture

Hi Guys,

Just wondering if there is an ETA for a TurnKeyLinux  InvoiceNinja v5 ... Really looking forward to it.

Also a word of appreciation I've for all the great work that you have done over the years.

 

Regards

GV

Jeremy Davis's picture

Thanks for your kind words George.

Unfortunately, I don't have a firm ETA (and if I gave you one it'd likely be wrong). I am still bogged down with the v17.0 Core and TKLDev release ATM. I'm hoping that it will be released really soon, but I can't give a firm timeframe (within the next week or 2 fingers crossed).

Once we have that done, then hopefully Invoice Ninja won't be too far behind, but history suggests possibly as soon as a few weeks after. Having said that, we have done lots of the other LAMP appliances already (just have to wait to do final testing once we have Core, TKLDev and LAMP apps done) but Invoice Ninja isn't one of those. So we'll have to see...

TL;DR ASAP! :)

Jeremy Davis's picture

The timing for Ninja Invoice v5 wasn't great. When we were ready to do the integration, v5 wasn't quite (it was "stable" but didn't support an included PDF generator). I wasn't happy publishing our appliance whilst it relied on a third party service for generating PDFs. From what I gather, that has since been resolved, but unfortunately we don't currently have the spare cycles to prioritise a Ninja5 update ATM. :(

We will get to it, but it will have to wait until we get to it. We've finally completed Core v17.0 (I'm yet to actually announce it, but it's on the mirror - only about 3 months behind schedule). So when we get to the Ninja Invoice appliance, it will be Ninja5!

If anyone is interested in assisting us to push out a v17.0 Ninja Invoice v5 appliance, please let us know! :)

Jeremy Davis's picture

I'm not particularly familiar with Ansible, so I'm not sure how useful it might be. But if you have it handy (or posted somewhere already) please do share. I t certainly won't do any harm!

As for setup screens. Assuming that you are referring to a setup screen displayed within the browser, the way around those is to use curl to interact with the service. We use that approach quite a bit. Lots of webapps (PHP based ones in particular) seem to require an interactive process via the browser as the final step. They can sometime take a bit of fiddling to get right, especially when they are running javascript. But at the end of the day, it's all TCP packets...

George3430's picture

Hi Guys,

Any further update on Inv Ninja V5 eta.

 

Kind Regards

George V

Jeremy Davis's picture

Unfortunately, I have been hijacked by a raft of other issues (mostly related to our infrastructure) that have drawn my attention away from the updated v17.x appliance release.

However, I can tell you that the work on Invoice Ninja v5 appliance has started. FYI, I anticipate that the updated app will be 'turnkey-invoice-ninja-17.1-bullseye-amd64'. In an effort to be transparent, even once the buildcode is updated, then it will fall to me to do code review, build it and do final release testing. So updating the buildcode will only be the first part of the process. I am hoping to be able to circle back to to the release within the next week or 2. I intend to release all updated appliances that are ready at that point. If the Invoice Ninja v5 update is complete, passes code review, builds successfully and passes final release testing by then, it will be included in the next batch of updated appliances. If it fails any of those steps, it will be pushed back until the next batch.

George3430's picture

Hi Jeremy,

Start quote:

I am hoping to be able to circle back to to the release within the next week or 2

End quote:

😀😁 That is great news...  I not much of a server guy myself, more on the networking side of things and I do not always understand the nuances involved in coding and releasing products like these ... However I fully understand and appreciate the effort involved to get things like this done .. That said I did manage to stand up a Ubuntu VM running Ninja V5 but I'm having issues to generate PDF's and I do not like the potential security issues that accompanies the recommended solution.

I'm in the process of standing up a business for my wife around the Natural Health industry, as you are most probably aware there are some very strict guidelines around privacy in the health industry and as far as possible I would like to keep everything "on prem" under my control 🛂 in my private cloud 🔐 where the possibility of holding my data hostage 🏴‍☠️ does not exist.... As such I cannot wait for "turnkey-invoice-ninja-17.1-bullseye-amd64" 😁😎😀 to see the light of day!

Regards

George

 

Jeremy Davis's picture

Hopefully my guess on timeframe isn't too optimistic and II can get it out the door in a timely manner.

I'm interested to hear about your PDF issues though! I was aware that was an issue previously (and was blocking us from moving to Invoice Ninja v5). However, I was under the impression that there was now a library included with INv5 that made that issue redundant?!

Do you have any more info/links/etc on that? If you're hitting it on Ubuntu, then there is a good chance we may have similar issues getting PDFs working properly on TurnKey. I'd really like to understand the current state of that issue.

Also something to keep in mind; whilst I totally understand your desire/need to protect user data privacy, maintaining data integrity (protecting against data loss) is also considered a security issue. So offsite backups are a must for data such as that!

Our included backup tool (TKLBAM) might be a good option for that?! It does require that you have a TurnKey Hub account, linked to an AWS account. And it does uploaded your data to AWS S3 storage (which I get on face value doesn't seem consistent with your desire to ensure total control of the data). But it's important to note that plain (unencrypted) data never leaves your server (and doesn't touch the Hub either).

By default, the Hub generates a unique encryption key pair that is used to encrypt your data before it leaves your server. Whilst your data (even encrypted) never actually touches the Hub, the Hub does maintain a copy of the private key to decrypt your data (which makes the general encryption/decryption process hidden from the end user). However, if you wish to lock your data down even further, you can optionally add a passphrase to your backup and/or an escrow key. Please be aware though, that if you use the additional layer of security, we can't help you if you forget your passphrase and/or lose your escrow key.

I hope that info is useful, if for no other reason than to be aware of one of the options.

George3430's picture

Hi Jeremy,

My PDF issue is that I could not get it to work at all, that is most probably a function of me being a network engineer and not really understanding how libraries work. My typical method of installing is "follow the bouncing ball in a tutorial". As I mentioned before the original recomended way was to send it off to web provider using JSON it is now changed to using SnapPDF and I have not been able to get that to install successfully. I have not been able to trouble shoot it to get it to work because of a lack of time ... As such I was hoping to deploy the upcoming version from you.

So if you do have something that is "testable" I would help with that, and give feedback from a newbie perspective.

Regards

George

 

 

Jeremy Davis's picture

Ok thanks George. I'll be sure to post here once I know more.

George3430's picture

Hi Jeremy,

Just an update in regards to your query 

"I'm interested to hear about your PDF issues though! I was aware that was an issue previously (and was blocking us from moving to Invoice Ninja v5). However, I was under the impression that there was now a library included with INv5 that made that issue redundant?!"

I got pdf generation working on inv ninj v5 using snappdf ..long and short there were some access rights issues and there were some missing php modules ...  and a whole stack of libx dependencies that wasn't mentioned in the particular tutorial that I was following. So after a bit of digging I found this

https://github.com/beganovich/snappdf#headless-chrome-doesnt-launch-on-unix

which I followed. So it seems that using snappdf is working fine ... as long as you follow the bouncing ball accurately

Regards

Jeremy Davis's picture

Thanks for the update George. I really appreciate you making the effort to post back with this additional info.

Interestingly though, my colleague is nearly done with the Invoice Ninja v5 update and he reported that the PDF output appears to "just work" in our new, updated appliance?! I'm not sure exactly how or why, because according to him, there wasn't any need to install or configure any additional PDF generation software...?!

I haven't yet seen the updated build code though. As soon as I do, I'll hopefully have a better understanding.

Also, hopefully, I'll be able to get back to appliance updates shortly. I have a pretty big backlog of apps ready to build. Hopefully I'll be able to focus on publishing those within the next week or 2.

George3430's picture

Hi Jeremy,

As I said before I'm a network engineer playing around with "server" stuff ..so what can go wrong ⁉ 🧐.. the original version I installed was V5.3 and in that release pdf generation was broken. So it was recommended that I upgrade and I was told the upgrade should just happen when I hit the "upgrade" button on the main menu ... hmmm.. the upgrade failed 🙄 I'll get to the reason it failed a little later 😐 .. (newbie error) .. Moving on, because the upgrade failed I decided to try and make V5.3 work with snappdf and at that stage the required libraries was not included and I had to try and make it work...  Apparently there where quite a few issues in that release that caused it to be a bit "quirky" as such I suspect that all my efforts just resulted in a comedy of errors from that point on, hence my the total failure to get pdf generation to work.

Eventually I found out why the upgrade failed ... Because I had to build my own LAMP on Ubuntu it turns out that when I installed php it just defaulted to the standard memory allocation for processing scripts of 128 meg.. so when I ran the V5.5 update script it hit the limit and failed without providing a logical reason in the logs ... As soon as I fixed the PHP memory issue in the php config (I increased it to 512 meg) the update script then installed the required libraries, all I had to do was install headless chrome, fix the access rights for www-data and fix my .env file for inv ninj  and it started working.

So it doesn't surprise me that your guy got it working first time ..after all he is a LINUX head  . I think if you have all the ducks in a row and you can get them to quack in unison everything should be hunky dory 😀 ...

So that is my PDF adventure ... a huge learning curve ... only issue now is do I trust my "installation" for use in my wife's small business after I had to make it work and I can't remember what I opened up and who I gave access rights to .. nah ... I don't have time to build it from fresh ... so your build will be heaven sent .. when it comes 😍

Kind regards

 

George

Jeremy Davis's picture

Thanks for the back story! :) I probably shouldn't have, but I did have a bit of a smirk while reading it. Not laughing at you of course, just thinking back to all the blunders I made along the path to get to where I am...! It's certainly a learning curve!

Hopefully I won't keep you waiting too long!

Lee Chambers's picture

i would be happy to help out with testing the appliance when its ready for testing. Im trying to put off setting up invoice ninja v4 again for my business if v5 is in the making.
Jeremy Davis's picture

I'll try to ensure that I let you know once we've updated the build code. If you have the time and energy, you can then build and test an ISO locally. Hopefully it won't take too long to get to that point.

Jeremy Davis's picture

Hi all apologies on the delays. Also I forgot to post back once the build code was updated.

The good news is that the new v17.1 Invoice Ninja appliance - with Invoice Ninja v5.5.23 - is now available! Yay! I haven't yet published the blog post announcement, but hopefully I'll get that completed today. I wanted to give you guys the heads up in advance though as you've been extremely patient.

So far it's only available via the TurnKey Hub or as an ISO or LXC build (via Proxmox - but should work on vanilla LXC too). I hope to do VM builds soon too, but I'd ideally like to complete the v17.1 initial release before I do that. My rationale is that the ISO is install-able to a VM and it'll be more efficient on my end to batch build all the VMs once we've finished the v17.1 release. Apologies in advance for any that were hoping for an OVA.

We did our usual basic pre-release testing on the appliance, plus explicitly checking that PDF generation works OOTB (it seems that is the main issue that attracts complaints). Our pre-release testing isn't exhaustive, but it looks good to me. As per always though, we welcome any and all feedback you might have, the good, the bad and the ugly! :)

George3430's picture

Hi Jeremy,

I pulled down the new ISO yesterday ... must have just landed when I did my weekly check ... anyhow will deploy it on Proxmox over the next few days ... will let you know the outcome 

Regards

George V

George3430's picture

Hi Jeremy,

I downloaded and installed the New TurnKey Invoice Ninja version (17.2) ISO on a Proxmox vm. Everything works fine  until I do the security updates which updates the kernel from 5.10.0-19 to 5.10.0-20, then everything fails .. It seem that grub cannot find the root fs ... messages below

0.7170071 Call Trace:
0.717218] dump_stack•0x6b/0x83
0.7175101 panic•0x101/0x2d7
0.7177511 mount block root•0x301/0x317 - -
0.7180711 prepare_namespace+0x136/0x165
0.7183661 kernel init freeable•0x256/0x280 - -
0.718617] ? rest init•0xb1/0xb1 -
0.7189031 kernel init•0xa/0x10c -
0.7191531 ret from fork•0x22/0x30 - -
0.7195031 kernel Offset: 0xba00000 from 0xffffffff81000000
e: 0xffffffff80000000-0xffffffffbfffffff)
(relocation ra11g
[ 0.720061] ---[ end kernel panic - not syncing: UFS: Unable to mount root fs
on unknown-block(0,0) ]---

If I escape out of the default grub choice and select 5.10.0-19 manually it boots normally and everything works fine.. see the VM config below ...

I've installed it many times with different scsi emulations  ... nothing seems to work ... I'm Stumped ... any ideas?

 

Regards

 

George V

Jeremy Davis's picture

Just noticed this cross post - see thread here.

Add new comment