I'm already exhausted, I've installed Discourse on several VPSs and none of them work for me

Since yesterday, I have been trying to install it, but it doesn’t work. I’ve already tried several VPSs, and none of them have worked for me. It’s always the same SSL problem.

url: https://debatehosting.co/

SSL

I feel like you could just copy the error message and send it to ChatGPT.

I don’t understand this error message, but GPT can resolve it quickly.

Hello, first of all, welcome to Meta!

If you’ll take a friendly suggestion, please edit (or next time) posts containing code to use Markdown formatting, summarizing the error line/s that you believe describe your problem. That will motivate replies and let your issue be resolved sooner.

What installation method did you use? Are you using a proxy in your VPS for Discourse? Can you share your app/templates.yml file?

Yeah, better to post text in code snippets.

probably borked app.yml file syntax. please post the whole error code as pre formatted text in the composer. screenshots of error text is too difficult to troubleshoot.

My hunch here is that letsencrypt issuance failed for some reason.

You might be being rejected.

Yeah, check app.yml and your connectivity to LetsEncrypt:

docker exec app bash -lc '
curl -4 -v \
  --connect-timeout 10 \
  --max-time 20 \
  https://acme-v02.api.letsencrypt.org/directory \
  -o /dev/null
'

from /var/discourse

templates:

  - templates/postgres.template.yml

  - templates/redis.template.yml

  - templates/web.template.yml

  - templates/web.ratelimited.template.yml

  - templates/web.ssl.template.yml

  - templates/web.letsencrypt.ssl.template.yml

expose:

  - 80:80

  - 443:443

params:

  db_default_text_search_config: pg_catalog.english

  db_shared_buffers: 256MB

env:

  LC_ALL: en_US.UTF-8

  LANG: en_US.UTF-8

  LANGUAGE: en_US.UTF-8

  DISCOURSE_HOSTNAME: debatehosting.co

  DISCOURSE_DEVELOPER_EMAILS: pichopelis@gmail.com

  LETSENCRYPT_ACCOUNT_EMAIL: 'pichopelis@gmail.com'

  DISCOURSE_ENABLE_SSL: true

  DISCOURSE_SKIP_EMAIL_SETUP: '1'

  UNICORN_WORKERS: 4

volumes:

  - volume:

      host: "/var/discourse/shared/standalone"

      guest: "/shared"

  - volume:

      host: "/var/discourse/shared/standalone/log/var-log"

      guest: "/var/log"

hooks:

  after_code:

    - exec:

        cd: "$home/plugins"

        cmd:

          - git clone https://github.com/discourse/docker_manager.git

run:

  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"

Try removing the ticks, they are at least redundant (they are also not a very friendly form of ticks)

ting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/shared/ssl/debatehosting.co.cer": PEM_r                                                                                                                                                             ead_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expec                                                                                                                                                             ting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/shared/ssl/debatehosting.co.cer": PEM_r                                                                                                                                                             ead_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expec                                                                                                                                                             ting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/shared/ssl/debatehosting.co.cer": PEM_r                                                                                                                                                             ead_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expec                                                                                                                                                             ting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/shared/ssl/debatehosting.co.cer": PEM_r                                                                                                                                                             ead_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expec                                                                                                                                                             ting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/shared/ssl/debatehosting.co.cer": PEM_r                                                                                                                                                             ead_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expec                                                                                                                                                             ting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/shared/ssl/debatehosting.co.cer": PEM_r    

(post deleted by author)

Yeah, you’ve not been issued with a valid cert. You need to investigate why.

It might be as simple as providing an email that they don’t validate.

Confirming connectivity with letsencrypt is also useful. Check your build log for errors during the issuing process.

Maybe you are being rate limited from letsencrypt? I remember it’s can do that if you have many (5) failed rebuilds

yes that’s very possible.

that should show very clearly in the log though?

I’m not sure. It’s been a long time since I’ve seen this problem.

Another possible problem is that: i just saw that his domain uses cloudflare. Maybe he’s trying to install discourse with the orange cloud?

You would see something like:

[Sat May 11 22:58:20 UTC 2019] Sign failed, finalize code is not 200.
[Sat May 11 22:58:20 UTC 2019] {
  "type": "urn:ietf:params:acme:error:rateLimited",
  "detail": "Error finalizing order :: too many certificates already issued for exact set of domains: example.com: see https://letsencrypt.org/docs/rate-limits/",
  "status": 429
}
[Sat May 11 22:58:20 UTC 2019] Please check log file for more details: /shared/letsencrypt/acme.sh.log
Error loading file ca.cer

(taken from here)

Tail this: shared/letsencrypt/acme.sh.log

Should I limit myself? Should I try another domain? What do you think? I bought a test VPS to check, using the same domain.

As far as I know, no. I’m using, I don’t know, maybe a VPS.

What should I expect in this case?

The problem is almost certainly that debatehosting.co doesn’t (or perhaps didn’t) resolve to your virtual machine and/or ports 80/443 are blocked by something on the server or upstream. If you’ve done this a bunch of times then it’s the case that you’ve hit let’s encrypt rate limiting and you’ll need to try again. But you should use www rather than the apex domain, and if you do that, it’ll be a new request and you won’t be rate limited since you haven’t requested any certs for that hostname yet.

Did discourse-setup say something like “I can’t access your server via the domain name” did you do something to get it to continue anyway?

Did you use discourse-setup or did you do this all by hand, old school, so no check was done.?

They don’t matter. Let’s Encrypt doesn’t use those anymore and I don’t think Discourse does anything with them any more either.

If you do use cloudflare, don’t use orange cloud. When I checked a minute ago, it resolves to a single IP address. Nothing is answering on that address on port 80 or 443, but I think that’s because NGINX refuses to crank up.