Cloudways Install - PDF, SMTP, API

Wanted to see if anyone has successfully installed v.5.0.43-C37 on Digital Ocean (via Cloudways).

I have the app up and running but can’t seem to get the following to work:

  1. PDF - this seems to be a common issue here. I’ve looked at several posts but don’t know if I have found the solution. Anyone who’s had success on Cloudways I would appreciate some assistance.

  2. SMTP - I’ve tried and tried to connect using Sendinblue. I’m certainly willing to try another (like Postmark) but I don’t understand why when I put in the right credentials no email gets sent. The application states that the email is sent but it never reaches my inbox nor does it show up in the sendinblue logs. I emailed their support to see if I was missing something, made a modification, but still nothing.

  3. API - I’m trying to create an API connection using Integromat. I’ve created the token, used the correct URL but it will not verify. Sent an email to their support and they replied, “we have investigated this matter and we can see that we got this response: 403: API requires a pro plan.” I understood that the self-hosted version was the pro version with the exception of removing the IN branding.

I hope I’m close here as I really like what I see but there appears to be a bunch of hosting specific tweaks. I appreciate the help or redirection to applicable solutions.

HI,

  1. Are you using PhantomJS or SnapPDF?

  2. Maybe you needed to run php artisan optimize after changing the .env file?

  3. I don’t believe Integromat supports v5 yet, Zapier is supported though.

https://zapier.com/developer/public-invite/95884/5e4368b9efb9d377dc0a0b0465b7c1a7

Hillel,

Thanks for the reply.

I was using PhantomJS I believe. Don’t recall seeing anything about SnapPDF. I also did run the unix command but that didn’t seem to do anything.

I actually ended up deleting that application and installing the latest v.4. I got that up and working, along with the Integromat and SMTP connections. I think I’ll just wait for later for v.5. I was wanting to evaluate I.N. as I had just recently found it.

For whatever it’s worth, I’ve been using Toggl as my time tracker. After integrating using Integromat, at first trial, it doesn’t look all the information maps 1:1. There doesn’t look like there’s an ability to log all the individual time entries in Toggl to I.N. unless I’m missing something. That may be on Integromat’s end or perhaps in v.4, those individual entries on a given project may just not be available.

Thanks.

1 Like

Hi,

I have v5 up and running with the one click install in Digital Ocean.

I am however really battling with email (not being a sysadmin of any sort of reliability at all)

My pdf is working (using snap) however I cannot for the life of me get emails to work. Also when I go to health, I see that there are jobs pending

image

I also would like to ideally use sendinbluye, however not fussy, just want to get it working!
I did follow the postfix instructions here: How To Install and Configure Postfix on Ubuntu 20.04 | DigitalOcean

but am now stuck and would really appreciate a little help getting over the line.

In the FAQ, I see:

Q: My emails are not being delivered.

A: Most likely you have not configured a mail service and have set up the built in Postfix server. We suggest creating a Mailgun account and entering your credentials under Settings → System Settings → Email Settings.

However, where are these settings → Settings -> System Settings -> Email Settings is this in Invoiceninja, the ubuntu vm or in Digital ocean somewhere?

Any advise or help would be greatly appreciated…

Thanks

Hi,

That’s from the v4 docs, here are the v5 docs for this:

https://invoiceninja.github.io/docs/self-host-troubleshooting/#email-not-sending

Thanks for getting back top me, here is my config in the .env file in my droplet.

Could you just confirm which fields should or shouldn’t be in there?

Many thanks again for an awesome product, this is going to save a small business like ours hours and hours every month!

MAIL_DRIVER=sendmail
#MAIL_PORT=
#MAIL_ENCRYPTION=tls
#MAIL_HOST=
#MAIL_USERNAME=
#MAIL_FROM_ADDRESS=
#MAIL_FROM_NAME=
#MAIL_PASSWORD=

MAIL_HOST=smtp-relay.sendinblue.com
MAIL_PORT=587
MAIL_USERNAME=REDACTED
MAIL_PASSWORD=REDACTED
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=REDACTED
MAIL_FROM_NAME=IoT_CI_Limited

Finally, in order to apply the .env file, does one need to reboot the vm?

Many thanks again for your help

Are you seeing a specific error?

After changing the file you need to run php artisan optimize

Hi,

The system logs file is empty, the only errors I see is in the pending jobs… when I run

root@accounts:~# php artisan optimize
Could not open input file: artisan

That is what I get… sorry for all the novice questions…

Also, I sometimes get this error, like when checking the health

image

You need to run the command in the root folder of the project

Are there any resources that outline what the default .env files should contain bearing in mind common platforms such as:

  • latest version of IN
  • Digital Ocean
  • Sendinblue/Mailgun/gmail/O365

I have spent close on 3 days now trying various hosts etc to get this up and running… I am by no means an absolute novice, running multiple VM’s etc in Proxmox/cloudron etc…

However I simply cannot seem to get this to work and send mails. You mention mailgun, which I would be happy to use, but it would be great if some sample config files were made available…

For example, this is the complete .env file that gets created in one-click on digital ocean… for someone that is new to this, what should be changed in order to get email to send from these common mail servers (Mailgun, Sendinblue, Gmail, O365 ?

APP_NAME="Invoice Ninja"
APP_ENV=production
APP_DEBUG=false
APP_URL=R E D A C T E D
APP_KEY=R E D A C T E D
APP_CIPHER=AES-256-CBC
APP_LOCALE=en

DB_CONNECTION=db-ninja-01
MULTI_DB_ENABLED=false

PRECONFIGURED_INSTALL=true
DB_HOST1=localhost
DB_DATABASE1=ninja
DB_USERNAME1=ninja
DB_PASSWORD=R E D A C T E D
DB_PORT1=3306

##MAIL_DRIVER=sendmail
##MAIL_PORT=
##MAIL_ENCRYPTION=tls
##MAIL_HOST=
##MAIL_USERNAME=
##MAIL_FROM_ADDRESS=
##MAIL_FROM_NAME=
##MAIL_PASSWORD=
MAIL_MAILER=smtp
MAIL_HOST=smtp-relay.sendinblue.com
MAIL_PORT=587
MAIL_USERNAME='R E D A C T E D'
MAIL_PASSWORD='R E D A C T E D'
MAIL_ENCRYPTION=nul
#MAIL_ENCRYPTION='tls'
MAIL_FROM_NAME='R E D A C T E D'

DEMO_MODE=false

BROADCAST_DRIVER=log
LOG_CHANNEL=stack
CACHE_DRIVER=redis
QUEUE_CONNECTION=database
SESSION_DRIVER=redis
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

POSTMARK_API_TOKEN=
REQUIRE_HTTPS=true

GOOGLE_MAPS_API_KEY=
ERROR_EMAIL=
TRUSTED_PROXIES=

NINJA_ENVIRONMENT=selfhost

PHANTOMJS_PDF_GENERATION=false
PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address'
PHANTOMJS_SECRET=secret

SENTRY_LARAVEL_DSN=https://R E D A C T E D@sentry.invoicing.co/5

##MAIL_MAILER=log

Items above with ## are the original defaults that were created after one-click…

You could also place a referral link to earn commissions from Digital Oceans if people like me find this the most straightforward method of self-hosting…

Once this is up and running, I would be more than happy to pay to upgrade/remove branding etc… but without is working properly…

I would also be happy to update the guides accordingly…

Thanks again for all your help…

Each email provider will have their own settings to use. Sending emails usually fails for one of two reasons: the cron isn’t running or the email credentials are incorrect. Assuming the cron is running the failures should log an error in the system_logs table with a reason why.

Thanks, the point being that I have done a “one-click” install on a Digital Ocean…

I have amended the email settings accordingly, however email is still not sending…

Without changing anything else in the .env file that was automatically generated by one click apart from the mail settings, I do not see anything in the System Logs table…

Whilst I appreciate that this is simply for you guys… what would the settings for using mailgun as advised in v5?

This is really frustrating as since I started trying to get this working, I have been plagued by "Oh yea sorry, those instructions are outdated… or “Oh yea sorry those instructions were for a previous version”…

I am not sure if the cron is running, I assume that if it was setup correctly using “One click” then it should… if not, then there is something wrong with one click…

My email credentials are correct… so that only leaves the actual application and the configuration thereof…

So, a definitive question…

Can you send me what the .env settings for mail should be to use mailgun?

Thanks

I believe you want the “SMTP Credentials” section

No, I need to know, based on:

Digital Ocean one click…

What must the configuration look like in the the InvoiceNinja .env file for Mailgun (I don’t even use that, but you guys recommended it… so what are the defaults based on MailGun)

Literally, I am about another half an hour away from ditching IN, while it look great, I would call everything slightly beta…

I have even tried gmail smtp with a normal gmail account… NOTHING…

Can you answer my question please based on the Invoice Ninja .env file, not pointing to another companies setup instructions…?

Thanks

Can you confirm the cron is running? If the cron isn’t running emails won’t send regardless of the configuration.

Also, where do you see that Mailgun is recommended?

@david do you have any additional info to provide?

Mailgun recommendation is on the main page: https://marketplace.digitalocean.com/apps/invoice-ninja

I will need to check cron when I am back at my desk

There will be a prominent red error icon in the app if the crons aren’t enabled.

no, there is no red error icon in the app.

I never edited the crons after install. I have however done this now with sudo -u www-data crontab -e

and then entered this as there were no cron’s in there:

* * * * * cd /path/to/root/folder && /usr/bin/php -d register_argc_argv=On artisan schedule:run >> /dev/null 2>&1

I do see there is a red “problems with history file” error when I open crontab

Still no dice though…

For what is supposed to be a single click app why is this so hard? Surely when the app is deployed it should be all ready to go with a few step by step instructions on how to get mail working…?

Also, when sending the mails, why does one get a “sent successfully” in the UI when clearly it has not been?..

I think you guys need to revert when you have a clear guideline on how to configure this as this is clearly broken… at least from the Digital Ocean One Click install point of view…

From the forums there seem to be 2 main functions really:

  1. Creating PDF’s (Which I got around by using an external host (Digital Ocean))
  2. Sending Emails

If you do some analytics, it would be interested to see how many topics in the forum are related to these… and for which you spend the most time supporting…

I am sure that tidying up these areas by providing clear instructions with Sample configuration files, will free up some time in answering these questions…

Also updating things like the instructions on docker hub will also save people from literally wanting to throw their machines out the window…

I am not sure how confident I feel right now about connecting things like payment gateways or bank details to a platform that simply feel as “unfinished and unpolished” as this does to me right now…

I appreciate that this all may be a strategy to drive people to simply pay for and use the online version and monthly subs, however if so, it leaves a very bad taste in my mouth… I will assume that this lack of clear guidance and examples, is purely down to you guys being busy…

So far I have tried:

  1. Docker install on Proxmox Ubuntu 20.04 — Failed (no emails no pdf)
  2. Cloudron - emails worked, but no pdfs…
  3. Digital Ocean One click install - pdf’s work but email don’t…

Having installed multiple opensource applications in numerous deployment scenarios, I have never had to spend so much time getting an application to do what it is supposed to…

Finally, the UI also seems to be buggy at best when using Chrome and then completing fields… When I use SHIFT + letter (to get caps) it acts like TAB, moving me between form fields… really frustrating and contributes to my overall feeling of (hopefulness - in finding an app like yours) but then dissapointed at the state of it once deployed… and by no means an application I feel comfortable with plugging my bank account into…