Hi @pfaffman, the edit to the original post has an erroneous + in the to: line, breaking the regex. It should be removed.
Separately, the following paragraph needs to be edited as it no longer makes sense:
There are two patterns that need to be replaced, one ending in --keylength , and another ending in --fullchainpath (in the actual file, your original domain is before each of these switches). Enter your (sub)domain (and any additional subdomains preceded by -d ) and then add the following to your app.yml hooks section (towards the end of the file):
I suggest:
Use domain1 and domain2 in this post to generate the code that you will need. domain1 is your original domain and domain2 is the additional domain that you want to add. Add the resulting after_ssl: block to the hooks: section of your app.yml and do a launcher rebuild app.
Is dit een wijziging in hoe Discourse LetsEncrypt afhandelt of een wijziging in LetsEncrypt zelf?
Ik heb een server die momenteel last heeft van dit probleem. Voor nu is mijn tijdelijke oplossing om dat deel van app.yml uit te commentariëren, maar ik denk dat we in de toekomst een manier nodig hebben om deze extra certificaten aan de setup toe te voegen.
Discourse heeft dat naar een ander bestand verplaatst. Er wordt momenteel aan gewerkt. Ik zal de komende dagen proberen te kijken wat er nodig is om ondersteuning voor meerdere subdomeinen mogelijk te maken.
Errno::ENOENT: No such file or directory @ rb_sysopen - /usr/local/bin/letsencrypt
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/replace_command.rb:11:in `read’
replace failed with the params {“filename”=>“/usr/local/bin/letsencrypt”, “from”=>“/-d spokes.nz/”, “to”=>“-d spokes.nz -d www.spokes.nz”}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
Misschien proberen de vervanging in de sectie onderaan te plaatsen waar vroeger de ssh-spullen stonden, als dat logisch is (ik zit op mijn telefoon, ik zal morgen proberen te kijken)
Guessing here but I wonder if the error you are getting might relate to a missing space before the final slash and the final quote in the respective lines of the suggested stanza in your app.yml file?
I am inferring from the error message that your respective lines are (verbatim)
from: /-d spokes.nz/
to: “-d spokes.nz -d www.spokes.nz”
I say this, because in my case the lines are
from: /-d nzarchitecture.net.nz /
to: "-d nzarchitecture.net.nz -d www.nzarchitecture.net.nz "
And with spaces just before the end of each line as shown, I can now rebuild Discourse without throwing that error. (if you look closely you will see @pfaffman‘s updated stanza posted at start of this thread did show those extra spaces).
I have no files at all in the usr/local/bin/ directory (as noted in your error message) either, which made me suspect that lack of that letsencrypt file is not what triggers the error.
That said, for me while Discourse works ok on its url nzarchitecture.net.nz, unfortunately I still get a certificate error if typing www.nzarchitecture.net.nz into a browser - whether this is due to lack of that file, I do not know
Ik merk dat ik dit momenteel probeer te integreren in omgevingsvariabelen om het direct in discourse_docker af te handelen, iets als een door komma’s gescheiden lijst van hostnaamaliassen. Het lijkt een veelvoorkomende use case om direct af te handelen.
Het zal de configuratie voor dit geval gemakkelijker maken, zodat niemand wijzigingen hoeft aan te brengen in hun app.ymls.
Mijn huidige plan is met DISCOURSE_HOSTNAME: www.domain.com
Sta toe dat de omgeving zoals: DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com de certificaat zou ophalen, geldig voor alle hostnamen.
(Terwijl ik er toch ben, lijken Let’s Encrypt automatische vernieuwingen ook niet goed te werken, dus ik ben die ook aan het repareren)
I missed that! Did as you suggest, but still bootstrap failure:
FAILED
Errno::ENOENT: No such file or directory @ rb_sysopen - /usr/local/bin/letsencrypt
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/replace_command.rb:11:in `read’
replace failed with the params {“filename”=>“/usr/local/bin/letsencrypt”, “from”=>“/-d spokes.nz /”, “to”=>"-d spokes.nz -d www.spokes.nz "}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
Probably not the central issue here, but in my thrashing about, I also updated the Docker version running on Digital Ocean from 20.0.4 (I think) to 28.3.3 - possibly that helped, at least with this error. If nothing else it did get rid of the docker ‘depreciated’ warnings I was getting at the beginning of the rebuild process.
Hallo allemaal, even een update: meerdere domeinen zijn nu samengevoegd. In de nieuwste versie van discourse_docker kun je nu de ssl- en letsencrypt-templates opnemen en omgevingsvariabelen instellen van het type DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com om alternatieve hostnamen in te stellen.
Je site zal de geconfigureerde hostnamen bovendien ophalen met het certificaatverzoek zonder extra configuratiewijzigingen.
[quote=“featheredtoast, post:172, topic:56685”]Je kunt nu de ssl- en letsencrypt-sjablonen opnemen en omgevingsvariabelen instellen van de vorm DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com om alternatieve hostnamen in te stellen.
[/quote]
Vergeef mijn onwetendheid, maar is dit ergens via een site-instelling te bewerken, of moet er iets in app.yml worden bewerkt?
Als het eerste, had ik geen geluk met het vinden ervan na het updaten naar de nieuwste versie, en als het laatste, wat moet er specifiek in app.yml worden aangepast?
Would be even better if there was some clever way for discourse to write the aliases supplied by admin to app.yml itself when next updating, or to leave the info where an app.yml instruction can read it.