Install Plugins in Discourse


Don’t think that’s my issue:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           396M   16M  380M   4% /run
/dev/vda1        58G   35G   24G  61% /
tmpfs           2.0G  2.8M  2.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda15      105M  3.4M  102M   4% /boot/efi
none             58G   35G   24G  61% /var/lib/docker/aufs/mnt/12341d6ba5aa3bd27228268df48de97876b386123dd45983eca3a25623788956
shm              64M     0   64M   0% /var/lib/docker/containers/a0a92872e0bd966418d371c3e7a56c399dfd4d5046c59677548d6215f271bd0c/shm
none             58G   35G   24G  61% /var/lib/docker/aufs/mnt/82352ad3ae221b769b5efd1f08d6d28fd3347ae52efac77a20bb939935be5567
shm              64M     0   64M   0% /var/lib/docker/containers/d6655eb54f481c124caf4b33cd95774dd3d1aad80b21ee0ca0a1dbd04f0b0248/shm
tmpfs           396M     0  396M   0% /run/user/1000


I am adventurous and want to install memberful.

How do I manage the first step in this step by step guide, “access the server”?

Is it in the launch console window on DO? If so, which login do I use, the keys are not typing in their usual function in that window?



(Mohammad Mustafa Ahmedzai) #124

Thank you and I wish @techAPJ and @sam may take your words seriously. Because honestly speaking the tutorials written by them can only be understood by people well versed working with cloud environments. I learnt how to connect to my server and rebuild the discourse after following dozens of tutorials on internet and finally doing it right. The tutorials on discourse never helped because they are really not written step wise so that even a newbie like me could easily understand it.

Great work @Devanil for making it so simple!


(Sam Saffron) #125

The way we improve documentation here is using the wiki functionality:

If you click edit here: on the topic Install Plugins in Discourse <- a link, click me


You can add the screenshots you want there. If we are unhappy with the edit we can always roll it back.


(Sam Saffron) split this topic #126

A post was split to a new topic: Error installing the discourse jwt plugin


(Daniel Pfeifer) #127

For anyone wishing to install plugins hosted in a private repo, what worked for me was using an o auth token to install my plugin

doing it this was you can add your plugin in the same space as any other and you don’t need to create an ssh key

    - exec:
        cd: $home/plugins
              - git clone https://<token>


Forgive my naivety as I am not too familiar with docker or rails but what is the reason to need to rebuild every time you want to add a new plugin? Just for general ease of use, could they not just be installed from within Discourse similar to pretty much every other system out there with an upload and install button? Is there a benefit to having to do it this way?

1 Like

(Mittineague) #129

It has to do with assets getting compiled and caching.

My take is that how it’s done is a balance between performance and ease of making changes.

True, the server being “reset” may slow things down for a while, but it’s a short term pain for a long term gain.


(Daniela) split this topic #130

8 posts were split to a new topic: How to access app.yml?



Do we actually need mkdir -p plugins statement under cmd part? If not, can you please remove that line from the first post? Thanks


(Joe Buhlig) #133

I don’t know this is worth changing the OP of this or not but I’ve been following Dan’s path here for a large number of private plugins lately. It’s super easy. Go to your GitHub Tokens page, generate a new token, and use it as Dan does above. It’s never given me an issue.


(Erlend Sogge Heggen) #134

We were already linking to his post but now I’ve updated the wiki with a written section. Thanks for the testimonial!


(Eric Berry) #135

Has app.yml been removed from master?

I’m trying to build a plugin by having sym-linked the folder to the [root]/plugins folder and running ./bin/docker/rails s. Doesn’t seem to work :frowning:


(Ryan Gennrich) #136

I am just trying to install some plugins but haven’t been able to do so. I tried about 10 at first and now have tried only 1 and it still gives me an error. I don’t know what to do. I had to upload pictures because it wouldn’t allow me to post the text because it had links. I’m not understanding how to copy all of the info in the app.yml file while using the putty client.


(Joffrey Jaffeux) #137

I’m not sure about your yml, I would say it has indentations errors. And why do you have two times the “any custom command section” ?


(Ryan Gennrich) #138

I ended up completely reinstalling the server and I got it to add the plugin without an error this time. However the plugin is not clickable. I briefly tried the dicourse free trial that had everything already installed and I was able to click the plugin and change settings.


(Joshua Rosenfeld) #139

That’s because you’re not using the official version of the plugin, but a old forked copy that hasn’t been updated since 2015. Update the link in your app.yml to point to


(Ryan Gennrich) #140

Okay, where can I find active plugins?

I try to search for them here and can’t figure out how to sort between links to plugins and just topics about them. I ended up just searching directly on github, but looks like I am ending up with outdated plugins.


(Joshua Rosenfeld) #141

I’d suggest reviewing the #plugin here on Meta, making sure to avoid the #plugin:broken-plugin subcategory. Within the plugin category, the #official tag denotes a plugin maintained by the Discourse team. We ensure the plugin works with the latest version of Discourse, and will fix bugs that are found. Other plugins are maintained by community members, so you’ll need to work with them to address bugs/issues.

1 Like

(Jeff Atwood) #142

Isn’t the github URL path the simplest and most obvious way to determine this?

If the plugin is in the discourse org…


then it is official.

If not… then it is not :ok_hand:


Not seeing close button in popups