FAILED
--------------------
Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\"; exit 1; fi" failed with return #<Process::Status: pid 5329 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\\\"; exit 1; fi\""]}
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Yes it seems to be the Lets Encrypt variable but as I said above, the install script will not permit an opportunity to provide an email address. As soon as the SMTP password is received, it seems to jump past that stage, and pops an error.
You can see that here…
Hostname for your Discourse? [forum.uaptn.com]:
Email address for admin account(s)? [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
SMTP server address? [in-v3.mailjet.com]:
SMTP port? [587]:
SMTP user name? [b91xxxxxxxxxxxxxxxxxxde52d]:
SMTP password? [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]:
./discourse-setup: line 438: [: too many arguments
Checking your domain name . . .
Connection to forum.uaptn.com succeeded.
Does this look right?
Hostname : forum.uaptn.com
Email : xxxxxxxxx@protonmail.com
SMTP address : in-v3.mailjet.com
SMTP port : 587
SMTP username : b91xxxxxxxxxxxxxxxxxxxxxe52d
SMTP password : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : PASSWORD (SECRET KEY)
ENTER to continue, 'n' to try again, Ctrl+C to exit:
its not that. the script just breezes past the Lets Encrypt bit, as soon as I enter the password it pops that line 438: [: too many arguments and continues
Do your password has special characters? Try to enter a fake password without special characters like 123456 in the password and see if it asks the Let’s Encrypt email.
Perhaps the script is not asking because it’s already in your app.yml and then gives the error due to this (because the email is already wrong in the file app.yml).
Try changing the email in the file manually and see if it works (nano containers/app.yml).
The line that gave the error tests to see if the Let’s Encrypt email is not empty to show it to you and ask if you want to change it, but because the condition doesn’t wrap the variable in double quotes, the value that is in your app.yml is expanded and give the error of Too many arguments.
I think that if the discourse team wrapped the variable in double quotes would help to avoid cases like those, but they should be rare anyway (probably the 1st time you run the setup, the value was set incorrectly).