I followed the official Discourse guide for installing plugins on a self-hosted site (official tutorial), but it dates back to 2014, and I’m quite sure much of the information is now outdated.
I also tried some of the more recent, recommended solutions shared in the discussion replies, such as mounting SSH keys via volumes and configuring SSH access during the bootstrap process. Unfortunately, despite these efforts, I still failed to clone and install plugins from my private Git repositories using SSH.
If anyone has an updated, working method or best practice for using SSH keys to install Discourse plugins from private repositories, your guidance would be greatly appreciated.
Is er een manier om de pluginbestanden van tevoren rechtstreeks naar de server te downloaden, zodat deze tijdens de Discourse-bootstrap niet opnieuw van GitHub hoeft te worden opgehaald?
Bedankt! Maar de reden dat ik liever SSH gebruik, is omdat OAuth-tokens geen scheiding van lees- en schrijftoestemmingen toestaan - ze worden altijd geleverd met meer toegang dan nodig is.
Met SSH kan ik een alleen-lezen deploy key genereren, wat veiliger is en beter aansluit bij het principe van minimale rechtenverlening.
I actually tried cloning the plugin directly into /var/www/discourse/plugins, but it didn’t work — even when I mounted the plugin folder from the host to that path inside the container.
It seems that during bootstrap, Discourse expects to fetch plugins via Git, and manually placing the plugin files doesn’t bypass that step.
If you’ve had success with this method, I’d love to hear more details.
Bedankt, maar ik heb de methode die wordt beschreven in de officiële gids uit 2014 die je hebt gelinkt al geprobeerd — en ik kan bevestigen dat deze niet meer werkt voor het benaderen van privé-repositories via SSH-sleutels tijdens het opstarten.
Ik heb ook de nieuwere aanpak geprobeerd die in een van de antwoorden werd genoemd (het koppelen van de SSH-sleutel aan de container en het configureren van core.sshCommand in after_code), maar helaas mislukte dat ook in mijn geval. Discourse geeft nog steeds een SSH-permissiefout wanneer het probeert de privé-plugin te klonen.
Als er een momenteel werkende en betrouwbare manier is om een privé-repository met SSH te gebruiken in een productie-setup, zou ik meer up-to-date begeleiding zeer op prijs stellen.
Je zou het lokaal kunnen klonen en het ofwel in de plugins-directory kunnen mounten of het van een tijdelijke mount naar de plugins-directory kunnen kopiëren.
Vroeger kon je een GitHub-URL krijgen met ingesloten referenties in de URL. Dat heb ik eerder gedaan.