I am running Debian Bullseye on an AWS EC2 instance, trying to get the last piece of InvoiceNinja to work – PDF downloads. I’ve deleted my customized docker setup and went back to basics with the stock setup from https://github.com/invoiceninja/dockerfiles . Even with this, I am struggling to get PDF downloading to work.
I am wanting to use snappdf to generate the PDFs, which is the default set in the env
file.
Using commit:
$ git show --format=%H
27b6c82fe45a45a2ba0724ef30bb7ae1fd87104a
Showing only the changes from the default:
$ git diff >> /dev/shm/diff
admin@ip-172-31-16-82:~/build/docker/invoiceninja$ cat /dev/shm/diff
diff --git a/docker-compose.yml b/docker-compose.yml
index fdd5760..ae1fe4b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -15,7 +15,8 @@ services:
# Run webserver nginx on port 80
# Feel free to modify depending what port is already occupied
ports:
- - "80:80"
+ - "redactedport:80"
+ - "9000:9000"
#- "443:443"
networks:
- invoiceninja
diff --git a/env b/env
index 931eb0b..9600b19 100644
--- a/env
+++ b/env
@@ -1,6 +1,7 @@
# IN application vars
-APP_URL=http://in.localhost:8003
-APP_KEY=<insert your generated key in here>
+#APP_URL=https://in.localhost:8003
+APP_URL=http://redacteddomain.com:redactedport
+APP_KEY=base64:redactedkey=
APP_DEBUG=true
REQUIRE_HTTPS=false
PHANTOMJS_PDF_GENERATION=false
@@ -19,18 +20,18 @@ DB_PASSWORD=ninja
# Default to these values if empty
# IN_USER_EMAIL=admin@example.com
# IN_PASSWORD=changeme!
-IN_USER_EMAIL=
+IN_USER_EMAIL=redactedadmin@redacteddomain.com
IN_PASSWORD=
# Mail options
-MAIL_MAILER=log
-MAIL_HOST=smtp.mailtrap.io
-MAIL_PORT=2525
-MAIL_USERNAME=null
-MAIL_PASSWORD=null
-MAIL_ENCRYPTION=null
-MAIL_FROM_ADDRESS='user@example.com'
-MAIL_FROM_NAME='Self Hosted User'
+MAIL_MAILER=smtp
+MAIL_HOST=smtp.gmail.com
+MAIL_PORT=587
+MAIL_USERNAME=redactedmailer@redacteddomain.com
+MAIL_PASSWORD=redactedpass
+MAIL_ENCRYPTION=tls
+MAIL_FROM_ADDRESS='redactedmailer@redacteddomain.com'
+MAIL_FROM_NAME='InvoiceNinja'
# MySQL
MYSQL_ROOT_PASSWORD=ninjaAdm1nPassword
I thought that the APP_URL
parameter in the env
file was not important due to the post here, but it looks like it plays a more important role these days; whenever I click Download
on a PDF that I’ve generated inside InvoiceNinja, it opens a new tab in my browser which is pointed at the entry in APP_URL
. Even after changing that to point at the domain where I’m hosting InvoiceNinja, it will not download; it just shows a spinning loading icon forever.
Monitoring the output of the nginx container, after a delay I see the following log message:
2022/03/07 05:01:07 [error] 33#33: *43 upstream timed out (110: Connection timed out) while reading response header from upstream, client: redactedip, server: _, request: "POST /api/v1/live_preview?entity=invoice HTTP/1.1", upstream: "fastcgi://redacted_docker_local_ip:9000", host: "redacteddomain.com:redactedport", referrer: "http://redacteddomain.com:redactedport/"
I have tried various random things I found online for a couple days now, to no avail.