update 2021-10-15: Updates are working well now through 5.3.23, though I make sure I clone my Ubuntu instance before each just in case, especially as Iām up to several hundred expense entries. This is EXACTLY the product I need.
Thanks to hurricane evacuations and a death in family I have not run my local instance of InvoiceNinja since last August.
Today I ran it and was notified of Update Available, from 5.2.19 to 5.3.0, after sudo-apt-upgrading Ubuntu 20.04 I have been running updates from the installed web app successfully all summer.
Today the update completes but login errors out with a ā500 Server Errorā notification. I am not finding any errors in the log files, I have learned to clone my Ubuntu instance as the updating process was fraught with pitfalls. Those seemed to go away in July but here I am again with a "500 Server Errorā after upgrade.
Finally I did a full reinstall of the packages via
apt install php7.4 php7.4-{fpm,bcmath,ctype,fileinfo,json,mbstring,pdo,tokenizer,xml,curl,zip,gmp,gd,mysqli} mariadb-server mariadb-client curl git nginx vim composer -y
and then also
sudo php artisan optimize
and
https://invning.local.lan/update?secret=?
and finally took care to choose the upgrade from the info icon instead of the triangle notice.
Not sure which of this did the trick, but it was hours of work just to get back to my invoices.
Honestly, despite the onerous prospect of transferring all this data, particularly the attachments, I was ready to start looking at other solutions. I do appreciate the rapid improvement and enhancement of the InvoiceNinja application, but a simple update should not require this level of experimentation. Self-hosting is not something that the average user would ever need to understand, but if thereās an āupdate nowā button, it oughta work without a whole day spent searching for workarounds.
Also, the app upgraded to 5.3.17, which is the current level on Github and not the 5.3.0 shown in the upgrade box. Not important, but not confidence-inspiiring, either.
i am trying to setup v5 on debian on apache2 but i get this error āComposer detected issues in your platform: Your Composer dependencies require a PHP version ā>= 7.4.0ā.ā and i already have php7.4
I would use
CREATE SCHEMA db-ninja-01
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
instead, just to be sure and because this is the official documentation.
Like maxwellsmartconstinc you I have ninja behind a reverse proxy.
I had to add the proxyip to the .env file
nano /usr/share/nginx/invoiceninja/.env
TRUSTED_PROXIES=your proxy ip
My DNS service provides protection of my direct IP address automatically, so I cannot test this myself, but can you add to your NGINX conf file these lines, where invoice.example.com
is your domain name:
if ($host != $server_name) {
return 301 https://$server_name$request_uri;
}
If you add this line anywhere in the NGINX server block listening on 443, it should force redirect any attempted connections into using the specified domain for access, regardless of what addressing they used before.
Note that you must reset NGINX service after the change to the conf file with
systemctl restart nginx
If you can please verify that it does work, I will add this line to the server block in my notes.
Hello,
thank your for the installation guide but Iām having trouble to get it working.
Yesterday Iāve tried the installation using Debian11 and after it failed several times Iāve tried Ubuntu Server 20.04 today. But the problem is still the same.
After Iāve done all steps I open the browser with the url and setup starts. But here is the problem: the setup page is having errors. I think something is missing there
The storage/logs/laravel.log had only one entry which is caused by a wrong db name. Server error log ā/var/log/nginx/error.logā is empty.
I have no idea whats wrong.
Thank you for your input!
Hello Tim
What error do you get?
The screenshot you posted looks normal to me. What happens when you typ in the URL and click on āTest PDFā? Normal behavior is that in the next step you should be asked for your database info.
Hello KrisL,
the log says: production.INFO: db fails
I had a look to the youtube video and there the setup was only on one page and not separate steps. The āTest PDFā shows an error: Oops, looks like something isnāt correct!
After I pressed the button a new message appeared in the log: production.INFO: account table not found
The setup has evolved since then and it is now a page that expands as you progress through all the steps. The video you watched is older.
You should verify you have the dependencies installed, and are using the invoiceninja.zip package from the releases on the github page for the project, that is prebuilt, and has the dependencies for generating PDF baked into it.
Mind you the PDF generation is a web service, you must have a FQDN (fully qualified domain name) and a secure https address, with valid ssl certificate, or the PDF web service will not work.
Iāve never setup the software on Debian, and I know there are differences on debian from Ubuntu, so you may be running into issues beause of that also. If that is not something you can or want to fight with, you can try simply running the docker container that comes built with an ubuntu base:
https://hub.docker.com/r/invoiceninja/invoiceninja/
There are links in the docker page documentation to a list of all the environment variables you can use to setup the docker instance with, which is used to configure your instance instead of modifying a .env file.
Some users have gotten it to work on Debian in these forums, I donāt know what steps they had to take differently though.
Thank you for the information! Iāve installed the docker version with an external DB. It working now
I am glad it is working for you now. So you know, though I saw no issues with my existing setup after updating, I had an error with setting up self host server with v 5.3.25, and testing PDF step, consistent to what you reported. It may be you just ran into a bug with that. Not sure why or what cause, but running setup on 5.3.21 then updating worked around it, and the current versions (now 5.3.28) have resolved the issue altogether. As long as you have it installed tidy and self updating without issues, that is great though. I havenāt tried living with the container image before, and Iād be curious as to how it is if the experience requires more or less maintenance than the local install.
It seems this is no longer necessary and done by the setup?
Thanks for notifying me. I will try to make time this weekend to verify the process has been updated and make the change.
Is it possible to install with just apache on Ubuntu (or does someone have solid directions)? Iāve tried several times, different ways with youtube, and I canāt get it to work. I already have an Nginx server setup. my mind is shot and iām probably missing or doing something stupid. Iām not a Linux person, so a little lost. Trying to learn, but ive just been burned out from work. Thanks!
@smartkid808 If you talking separated web, sql, etc. Yes. On small deployments having the LAMP stack on one machine is common but in larger environments I like the LAMP stack separated out in separate servers(VMās). This is how I do it.
Iām trying to do a clean install but the following command doesnāt work:
# apt install php7.4 php7.4-{fpm,bcmath,ctype,fileinfo,json,mbstring,pdo,tokenizer,xml,curl,zip,gmp,gd,mysqli} mariadb-server mariadb-client curl git nginx vim composer -y
Gives me this following error:
This error means your system cannot find the PHP 7.4 packages.
Here is a guide to get PHP7.4 installed, please note Ubuntu 20.04 has 7.4 by default, so i am guessing you are using a different version? Also not, you can replace PHP 7.4 with PHP 8.0 as they are both compatible with Invoice Ninja.
I have a new install, and trying to do the setup, but keep getting error 500 after I submit the setup form.
I already tried sudo chown -R www-data:www-data /usr/share/nginx/invoiceninja for permissions.
and this is the error I see in the logs:
[2022-07-25 16:26:34] production.ERROR: Attempt to assign property āformat_momentā on null {āexceptionā:"[object] (Error(code: 0): Attempt to assign property āformat_momentā on null at /usr/share/nginx/invoiceninja/database/migrations/2022_07_18_033756_fixes_for_date_formats_table_react.php:17)
Would anyone be able to help me?