I’m trying to run Discourse with Let’s Encrypt behind an Apache Proxy on Ubuntu 16.04.
When I start up the application, nobody is listening on the correct port (I’ve mapped it to 12080/12443 in the app.yml), and the logs show the following error:
Cleaning stale PID files run-parts: executing /etc/runit/1.d/copy-env run-parts: executing /etc/runit/1.d/enable-brotli run-parts: executing /etc/runit/1.d/letsencrypt [Fri Dec 2 17:57:12 UTC 2016] Skip, Next renewal time is: Mon Feb 20 16:36:38 UTC 2017 [Fri Dec 2 17:57:12 UTC 2016] Add '--force' to force to renew. [Fri Dec 2 17:57:12 UTC 2016] Installing key to:/shared/ssl/discourse.mydomain.com.key [Fri Dec 2 17:57:12 UTC 2016] Installing full chain to:/shared/ssl/discourse.mydomain.com.cer [Fri Dec 2 17:57:12 UTC 2016] Run Le_ReloadCmd: sv reload nginx warning: nginx: unable to open supervise/ok: file does not exist [Fri Dec 2 17:57:12 UTC 2016] Reload error for :discourse.mydomain.com Started runsvdir, PID is 135 ok: run: redis: (pid 143) 0s ok: run: postgres: (pid 145) 0s sh: echo: I/O error
(To clarify: I’ve replaced my FQDN with “discourse.mydomain.com” in these logs.)
This Reload Error appears to be preventing discourse from starting up properly. I’ve had a look but all references to “unable to open supervise/ok” appear to be a fixed bug in runit.
Things I’ve tried:
- Running ./launcher rebuild app
- Running the debug steps in Setting up HTTPS support with Let's Encrypt (they succeed but produce no different result)
Has anyone encountered this error, and/or does anyone know how to resolve it?